Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
avocado
提交
960c8c61
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,发现更多精彩内容 >>
未验证
提交
960c8c61
编写于
12月 11, 2018
作者:
C
Caio Carrara
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'clebergnu/loader_tests'
Signed-off-by:
N
Caio Carrara
<
ccarrara@redhat.com
>
上级
d6c38093
30ed9a50
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
111 addition
and
96 deletion
+111
-96
avocado/core/safeloader.py
avocado/core/safeloader.py
+4
-2
selftests/unit/test_loader.py
selftests/unit/test_loader.py
+107
-94
未找到文件。
avocado/core/safeloader.py
浏览文件 @
960c8c61
...
...
@@ -345,8 +345,10 @@ def find_avocado_tests(path, class_name=None):
modules_paths
.
extend
(
sys
.
path
)
if
parent_module
is
None
:
parent_module
=
node
.
module
_
,
ppath
,
_
=
imp
.
find_module
(
parent_module
,
modules_paths
)
mod_file
,
ppath
,
_
=
imp
.
find_module
(
parent_module
,
modules_paths
)
if
mod_file
is
not
None
:
mod_file
.
close
()
res
,
dis
=
find_avocado_tests
(
ppath
,
parent_class
)
if
res
:
...
...
selftests/unit/test_loader.py
浏览文件 @
960c8c61
import
os
import
shutil
import
stat
import
multiprocessing
import
tempfile
import
unittest
...
...
@@ -9,8 +8,6 @@ from avocado.core import test
from
avocado.core
import
loader
from
avocado.utils
import
script
# We need to access protected members pylint: disable=W0212
#: What is commonly known as "0664" or "u=rw,g=rw,o=r"
DEFAULT_NON_EXEC_MODE
=
(
stat
.
S_IRUSR
|
stat
.
S_IWUSR
|
stat
.
S_IRGRP
|
stat
.
S_IWGRP
|
...
...
@@ -215,7 +212,6 @@ class LoaderTest(unittest.TestCase):
def
setUp
(
self
):
self
.
loader
=
loader
.
FileLoader
(
None
,
{})
self
.
queue
=
multiprocessing
.
Queue
()
self
.
tmpdir
=
tempfile
.
mkdtemp
(
prefix
=
'avocado_'
+
__name__
)
def
test_load_simple
(
self
):
...
...
@@ -389,96 +385,6 @@ class LoaderTest(unittest.TestCase):
self
.
assertTrue
(
test_class
==
'Second'
,
test_class
)
avocado_multiple_imp_test
.
remove
()
def
test_load_tags
(
self
):
avocado_test_tags
=
script
.
TemporaryScript
(
'tags.py'
,
AVOCADO_TEST_TAGS
,
'avocado_loader_unittest'
,
DEFAULT_NON_EXEC_MODE
)
tags_map
=
{
'FastTest.test_fast'
:
set
([
'fast'
,
'net'
]),
'FastTest.test_fast_other'
:
set
([
'fast'
,
'net'
]),
'SlowTest.test_slow'
:
set
([
'slow'
,
'disk'
]),
'SlowUnsafeTest.test_slow_unsafe'
:
set
([
'slow'
,
'disk'
,
'unsafe'
]),
'SafeTest.test_safe'
:
set
([
'safe'
])}
with
avocado_test_tags
:
for
_
,
info
in
self
.
loader
.
discover
(
avocado_test_tags
.
path
,
loader
.
DiscoverMode
.
ALL
):
name
=
info
[
'name'
].
split
(
':'
,
1
)[
1
]
self
.
assertEqual
(
info
[
'tags'
],
tags_map
[
name
])
del
(
tags_map
[
name
])
self
.
assertEqual
(
len
(
tags_map
),
0
)
def
test_filter_tags_include_empty
(
self
):
avocado_pass_test
=
script
.
TemporaryScript
(
'passtest.py'
,
AVOCADO_TEST_OK
,
'avocado_loader_unittest'
,
DEFAULT_NON_EXEC_MODE
)
with
avocado_pass_test
as
test_script
:
test_suite
=
self
.
loader
.
discover
(
test_script
.
path
,
loader
.
DiscoverMode
.
ALL
)
self
.
assertEqual
([],
loader
.
filter_test_tags
(
test_suite
,
[]))
self
.
assertEqual
(
test_suite
,
loader
.
filter_test_tags
(
test_suite
,
[],
True
))
def
test_filter_tags
(
self
):
avocado_test_tags
=
script
.
TemporaryScript
(
'tags.py'
,
AVOCADO_TEST_TAGS
,
'avocado_loader_unittest'
,
DEFAULT_NON_EXEC_MODE
)
with
avocado_test_tags
as
test_script
:
test_suite
=
self
.
loader
.
discover
(
test_script
.
path
,
loader
.
DiscoverMode
.
ALL
)
self
.
assertEqual
(
len
(
test_suite
),
5
)
self
.
assertEqual
(
test_suite
[
0
][
0
],
'FastTest'
)
self
.
assertEqual
(
test_suite
[
0
][
1
][
'methodName'
],
'test_fast'
)
self
.
assertEqual
(
test_suite
[
1
][
0
],
'FastTest'
)
self
.
assertEqual
(
test_suite
[
1
][
1
][
'methodName'
],
'test_fast_other'
)
self
.
assertEqual
(
test_suite
[
2
][
0
],
'SlowTest'
)
self
.
assertEqual
(
test_suite
[
2
][
1
][
'methodName'
],
'test_slow'
)
self
.
assertEqual
(
test_suite
[
3
][
0
],
'SlowUnsafeTest'
)
self
.
assertEqual
(
test_suite
[
3
][
1
][
'methodName'
],
'test_slow_unsafe'
)
self
.
assertEqual
(
test_suite
[
4
][
0
],
'SafeTest'
)
self
.
assertEqual
(
test_suite
[
4
][
1
][
'methodName'
],
'test_safe'
)
filtered
=
loader
.
filter_test_tags
(
test_suite
,
[
'fast,net'
])
self
.
assertEqual
(
len
(
filtered
),
2
)
self
.
assertEqual
(
filtered
[
0
][
0
],
'FastTest'
)
self
.
assertEqual
(
filtered
[
0
][
1
][
'methodName'
],
'test_fast'
)
self
.
assertEqual
(
filtered
[
1
][
0
],
'FastTest'
)
self
.
assertEqual
(
filtered
[
1
][
1
][
'methodName'
],
'test_fast_other'
)
filtered
=
loader
.
filter_test_tags
(
test_suite
,
[
'fast,net'
,
'slow,disk,unsafe'
])
self
.
assertEqual
(
len
(
filtered
),
3
)
self
.
assertEqual
(
filtered
[
0
][
0
],
'FastTest'
)
self
.
assertEqual
(
filtered
[
0
][
1
][
'methodName'
],
'test_fast'
)
self
.
assertEqual
(
filtered
[
1
][
0
],
'FastTest'
)
self
.
assertEqual
(
filtered
[
1
][
1
][
'methodName'
],
'test_fast_other'
)
self
.
assertEqual
(
filtered
[
2
][
0
],
'SlowUnsafeTest'
)
self
.
assertEqual
(
filtered
[
2
][
1
][
'methodName'
],
'test_slow_unsafe'
)
filtered
=
loader
.
filter_test_tags
(
test_suite
,
[
'fast,net'
,
'slow,disk'
])
self
.
assertEqual
(
len
(
filtered
),
4
)
self
.
assertEqual
(
filtered
[
0
][
0
],
'FastTest'
)
self
.
assertEqual
(
filtered
[
0
][
1
][
'methodName'
],
'test_fast'
)
self
.
assertEqual
(
filtered
[
1
][
0
],
'FastTest'
)
self
.
assertEqual
(
filtered
[
1
][
1
][
'methodName'
],
'test_fast_other'
)
self
.
assertEqual
(
filtered
[
2
][
0
],
'SlowTest'
)
self
.
assertEqual
(
filtered
[
2
][
1
][
'methodName'
],
'test_slow'
)
self
.
assertEqual
(
filtered
[
3
][
0
],
'SlowUnsafeTest'
)
self
.
assertEqual
(
filtered
[
3
][
1
][
'methodName'
],
'test_slow_unsafe'
)
filtered
=
loader
.
filter_test_tags
(
test_suite
,
[
'-fast,-slow'
])
self
.
assertEqual
(
len
(
filtered
),
1
)
self
.
assertEqual
(
filtered
[
0
][
0
],
'SafeTest'
)
self
.
assertEqual
(
filtered
[
0
][
1
][
'methodName'
],
'test_safe'
)
filtered
=
loader
.
filter_test_tags
(
test_suite
,
[
'-fast,-slow,-safe'
])
self
.
assertEqual
(
len
(
filtered
),
0
)
filtered
=
loader
.
filter_test_tags
(
test_suite
,
[
'-fast,-slow,-safe'
,
'does,not,exist'
])
self
.
assertEqual
(
len
(
filtered
),
0
)
def
test_python_unittest
(
self
):
disabled_test
=
script
.
TemporaryScript
(
"disabled.py"
,
AVOCADO_TEST_OK_DISABLED
,
...
...
@@ -519,5 +425,112 @@ class LoaderTest(unittest.TestCase):
shutil
.
rmtree
(
self
.
tmpdir
)
class
TagFilter
(
unittest
.
TestCase
):
def
setUp
(
self
):
with
script
.
TemporaryScript
(
'tags.py'
,
AVOCADO_TEST_TAGS
,
'avocado_loader_unittest'
,
DEFAULT_NON_EXEC_MODE
)
as
test_script
:
this_loader
=
loader
.
FileLoader
(
None
,
{})
self
.
test_suite
=
this_loader
.
discover
(
test_script
.
path
,
loader
.
DiscoverMode
.
ALL
)
def
test_no_tag_filter
(
self
):
self
.
assertEqual
(
len
(
self
.
test_suite
),
5
)
self
.
assertEqual
(
self
.
test_suite
[
0
][
0
],
'FastTest'
)
self
.
assertEqual
(
self
.
test_suite
[
0
][
1
][
'methodName'
],
'test_fast'
)
self
.
assertEqual
(
self
.
test_suite
[
1
][
0
],
'FastTest'
)
self
.
assertEqual
(
self
.
test_suite
[
1
][
1
][
'methodName'
],
'test_fast_other'
)
self
.
assertEqual
(
self
.
test_suite
[
2
][
0
],
'SlowTest'
)
self
.
assertEqual
(
self
.
test_suite
[
2
][
1
][
'methodName'
],
'test_slow'
)
self
.
assertEqual
(
self
.
test_suite
[
3
][
0
],
'SlowUnsafeTest'
)
self
.
assertEqual
(
self
.
test_suite
[
3
][
1
][
'methodName'
],
'test_slow_unsafe'
)
self
.
assertEqual
(
self
.
test_suite
[
4
][
0
],
'SafeTest'
)
self
.
assertEqual
(
self
.
test_suite
[
4
][
1
][
'methodName'
],
'test_safe'
)
def
test_filter_fast_net
(
self
):
filtered
=
loader
.
filter_test_tags
(
self
.
test_suite
,
[
'fast,net'
])
self
.
assertEqual
(
len
(
filtered
),
2
)
self
.
assertEqual
(
filtered
[
0
][
0
],
'FastTest'
)
self
.
assertEqual
(
filtered
[
0
][
1
][
'methodName'
],
'test_fast'
)
self
.
assertEqual
(
filtered
[
1
][
0
],
'FastTest'
)
self
.
assertEqual
(
filtered
[
1
][
1
][
'methodName'
],
'test_fast_other'
)
def
test_filter_fast_net__slow_disk_unsafe
(
self
):
filtered
=
loader
.
filter_test_tags
(
self
.
test_suite
,
[
'fast,net'
,
'slow,disk,unsafe'
])
self
.
assertEqual
(
len
(
filtered
),
3
)
self
.
assertEqual
(
filtered
[
0
][
0
],
'FastTest'
)
self
.
assertEqual
(
filtered
[
0
][
1
][
'methodName'
],
'test_fast'
)
self
.
assertEqual
(
filtered
[
1
][
0
],
'FastTest'
)
self
.
assertEqual
(
filtered
[
1
][
1
][
'methodName'
],
'test_fast_other'
)
self
.
assertEqual
(
filtered
[
2
][
0
],
'SlowUnsafeTest'
)
self
.
assertEqual
(
filtered
[
2
][
1
][
'methodName'
],
'test_slow_unsafe'
)
def
test_filter_fast_net__slow_disk
(
self
):
filtered
=
loader
.
filter_test_tags
(
self
.
test_suite
,
[
'fast,net'
,
'slow,disk'
])
self
.
assertEqual
(
len
(
filtered
),
4
)
self
.
assertEqual
(
filtered
[
0
][
0
],
'FastTest'
)
self
.
assertEqual
(
filtered
[
0
][
1
][
'methodName'
],
'test_fast'
)
self
.
assertEqual
(
filtered
[
1
][
0
],
'FastTest'
)
self
.
assertEqual
(
filtered
[
1
][
1
][
'methodName'
],
'test_fast_other'
)
self
.
assertEqual
(
filtered
[
2
][
0
],
'SlowTest'
)
self
.
assertEqual
(
filtered
[
2
][
1
][
'methodName'
],
'test_slow'
)
self
.
assertEqual
(
filtered
[
3
][
0
],
'SlowUnsafeTest'
)
self
.
assertEqual
(
filtered
[
3
][
1
][
'methodName'
],
'test_slow_unsafe'
)
def
test_filter_not_fast_not_slow
(
self
):
filtered
=
loader
.
filter_test_tags
(
self
.
test_suite
,
[
'-fast,-slow'
])
self
.
assertEqual
(
len
(
filtered
),
1
)
self
.
assertEqual
(
filtered
[
0
][
0
],
'SafeTest'
)
self
.
assertEqual
(
filtered
[
0
][
1
][
'methodName'
],
'test_safe'
)
def
test_filter_not_fast_not_slow_not_safe
(
self
):
filtered
=
loader
.
filter_test_tags
(
self
.
test_suite
,
[
'-fast,-slow,-safe'
])
self
.
assertEqual
(
len
(
filtered
),
0
)
def
test_filter_not_fast_not_slow_not_safe_others_dont_exist
(
self
):
filtered
=
loader
.
filter_test_tags
(
self
.
test_suite
,
[
'-fast,-slow,-safe'
,
'does,not,exist'
])
self
.
assertEqual
(
len
(
filtered
),
0
)
def
test_load_tags
(
self
):
tags_map
=
{
'FastTest.test_fast'
:
set
([
'fast'
,
'net'
]),
'FastTest.test_fast_other'
:
set
([
'fast'
,
'net'
]),
'SlowTest.test_slow'
:
set
([
'slow'
,
'disk'
]),
'SlowUnsafeTest.test_slow_unsafe'
:
set
([
'slow'
,
'disk'
,
'unsafe'
]),
'SafeTest.test_safe'
:
set
([
'safe'
])}
for
_
,
info
in
self
.
test_suite
:
name
=
info
[
'name'
].
split
(
':'
,
1
)[
1
]
self
.
assertEqual
(
info
[
'tags'
],
tags_map
[
name
])
del
(
tags_map
[
name
])
self
.
assertEqual
(
len
(
tags_map
),
0
)
class
TagFilter2
(
unittest
.
TestCase
):
def
test_filter_tags_include_empty
(
self
):
with
script
.
TemporaryScript
(
'passtest.py'
,
AVOCADO_TEST_OK
,
'avocado_loader_unittest'
,
DEFAULT_NON_EXEC_MODE
)
as
test_script
:
this_loader
=
loader
.
FileLoader
(
None
,
{})
test_suite
=
this_loader
.
discover
(
test_script
.
path
,
loader
.
DiscoverMode
.
ALL
)
self
.
assertEqual
([],
loader
.
filter_test_tags
(
test_suite
,
[]))
self
.
assertEqual
(
test_suite
,
loader
.
filter_test_tags
(
test_suite
,
[],
True
))
if
__name__
==
'__main__'
:
unittest
.
main
()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录