Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
avocado
提交
3c4c86ce
A
avocado
项目概览
openeuler
/
avocado
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
avocado
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3c4c86ce
编写于
1月 06, 2016
作者:
L
Lucas Meneghel Rodrigues
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #936 from clebergnu/fix-local-import-tests
avocado.core.loader: Append test directory to sys.path [v2]
上级
84d8fce7
62ae0d60
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
37 addition
and
2 deletion
+37
-2
avocado/core/loader.py
avocado/core/loader.py
+8
-2
selftests/functional/test_basic.py
selftests/functional/test_basic.py
+29
-0
未找到文件。
avocado/core/loader.py
浏览文件 @
3c4c86ce
...
...
@@ -258,8 +258,13 @@ class TestLoaderProxy(object):
if
isinstance
(
test_class
,
str
):
module_name
=
os
.
path
.
basename
(
test_path
).
split
(
'.'
)[
0
]
test_module_dir
=
os
.
path
.
dirname
(
test_path
)
f
,
p
,
d
=
imp
.
find_module
(
module_name
,
[
test_module_dir
])
test_module
=
imp
.
load_module
(
module_name
,
f
,
p
,
d
)
# Tests with local dir imports need this
try
:
sys
.
path
.
insert
(
0
,
test_module_dir
)
f
,
p
,
d
=
imp
.
find_module
(
module_name
,
[
test_module_dir
])
test_module
=
imp
.
load_module
(
module_name
,
f
,
p
,
d
)
finally
:
sys
.
path
.
pop
(
0
)
for
_
,
obj
in
inspect
.
getmembers
(
test_module
):
if
(
inspect
.
isclass
(
obj
)
and
obj
.
__name__
==
test_class
and
inspect
.
getmodule
(
obj
)
==
test_module
):
...
...
@@ -267,6 +272,7 @@ class TestLoaderProxy(object):
test_class
=
obj
break
test_instance
=
test_class
(
**
test_parameters
)
return
test_instance
...
...
selftests/functional/test_basic.py
浏览文件 @
3c4c86ce
...
...
@@ -56,6 +56,20 @@ class HelloWorld(Plugin):
print('Hello World!')
"""
HELLO_LIB_CONTENTS
=
"""
def hello():
return 'Hello world'
"""
LOCAL_IMPORT_TEST_CONTENTS
=
'''
from avocado import Test
from mylib import hello
class LocalImportTest(Test):
def test(self):
self.log.info(hello())
'''
class
RunnerOperationTest
(
unittest
.
TestCase
):
...
...
@@ -84,6 +98,21 @@ class RunnerOperationTest(unittest.TestCase):
"examples/tests/passtest.py"
%
self
.
tmpdir
)
process
.
run
(
cmd_line
)
def
test_runner_test_with_local_imports
(
self
):
mylib
=
script
.
TemporaryScript
(
'mylib.py'
,
HELLO_LIB_CONTENTS
,
'avocado_simpletest_functional'
)
mylib
.
save
()
mytest
=
script
.
Script
(
os
.
path
.
join
(
os
.
path
.
dirname
(
mylib
.
path
),
'test_local_imports.py'
),
LOCAL_IMPORT_TEST_CONTENTS
)
os
.
chdir
(
basedir
)
mytest
.
save
()
cmd_line
=
(
"./scripts/avocado run --sysinfo=off --job-results-dir %s "
"%s"
%
(
self
.
tmpdir
,
mytest
))
process
.
run
(
cmd_line
)
def
test_runner_tests_fail
(
self
):
os
.
chdir
(
basedir
)
cmd_line
=
'./scripts/avocado run --sysinfo=off --job-results-dir %s passtest failtest passtest'
%
self
.
tmpdir
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录