Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Test Xdevice
提交
a4f7aee3
T
Test Xdevice
项目概览
OpenHarmony
/
Test Xdevice
9 个月 前同步成功
通知
6
Star
23
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Test Xdevice
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a4f7aee3
编写于
4月 27, 2021
作者:
O
openharmony_ci
提交者:
Gitee
4月 27, 2021
浏览文件
操作
浏览文件
下载
差异文件
!14 修复因没及时删除xml测试报告导致测试套重跑并发生crash的问题
Merge pull request !14 from liukunmo/master
上级
9d5113e4
afa02d16
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
27 addition
and
12 deletion
+27
-12
src/xdevice/_core/driver/drivers_lite.py
src/xdevice/_core/driver/drivers_lite.py
+21
-8
src/xdevice/_core/environment/device_lite.py
src/xdevice/_core/environment/device_lite.py
+6
-4
未找到文件。
src/xdevice/_core/driver/drivers_lite.py
浏览文件 @
a4f7aee3
...
...
@@ -58,6 +58,8 @@ from _core.report.suite_reporter import SuiteReporter
__all__
=
[
"CppTestDriver"
,
"CTestDriver"
,
"init_remote_server"
]
LOG
=
platform_logger
(
"DriversLite"
)
FAILED_RUN_TEST_ATTEMPTS
=
2
CPP_TEST_MOUNT_STOP_SIGN
=
"not mount properly, Test Stop"
CPP_TEST_NFS_SIGN
=
"execve: I/O error"
def
get_nfs_server
(
request
):
...
...
@@ -266,11 +268,12 @@ class CppTestDriver(IDriver):
command
=
collect_test_command
,
case_type
=
DeviceTestType
.
cpp_test_lite
,
timeout
=
15
,
receiver
=
None
)
if
"not mount properly, Test Stop"
in
result
:
if
CPP_TEST_MOUNT_STOP_SIGN
in
result
:
tests
=
[]
return
tests
tests
=
self
.
read_nfs_xml
(
request
,
self
.
config
.
device_xml_path
)
self
.
delete_device_xml
(
request
,
self
.
config
.
device_xml_path
)
time
.
sleep
(
1
)
return
tests
else
:
...
...
@@ -375,8 +378,13 @@ class CppTestDriver(IDriver):
if
self
.
config
.
xml_output
:
self
.
run
(
"{} --gtest_output=xml:{}"
.
format
(
command
,
self
.
config
.
device_report_path
))
time
.
sleep
(
5
)
test_run
=
self
.
read_nfs_xml
(
request
,
self
.
config
.
device_xml_path
)
time
.
sleep
(
20
)
test_rerun
=
True
if
self
.
check_xml_exist
(
self
.
execute_bin
+
".xml"
):
test_rerun
=
False
test_run
=
self
.
read_nfs_xml
(
request
,
self
.
config
.
device_xml_path
,
test_rerun
)
if
len
(
test_run
)
<
len
(
expected_tests
):
expected_tests
=
TestDescription
.
remove_test
(
expected_tests
,
test_run
)
...
...
@@ -483,7 +491,7 @@ class CppTestDriver(IDriver):
time
.
sleep
(
5
)
return
False
def
read_nfs_xml
(
self
,
request
,
report_path
):
def
read_nfs_xml
(
self
,
request
,
report_path
,
is_true
=
False
):
remote_nfs
=
get_nfs_server
(
request
)
if
not
remote_nfs
:
err_msg
=
"The name of remote device {} does not match"
.
\
...
...
@@ -491,9 +499,10 @@ class CppTestDriver(IDriver):
LOG
.
error
(
err_msg
,
error_no
=
"00403"
)
raise
TypeError
(
err_msg
)
tests
=
[]
file_path
=
os
.
path
.
join
(
report_path
,
self
.
execute_bin
+
".xml"
)
if
not
self
.
check_xml_exist
(
self
.
execute_bin
+
".xml"
):
execute_bin_xml
=
(
self
.
execute_bin
+
"_1.xml"
)
if
is_true
else
(
self
.
execute_bin
+
".xml"
)
file_path
=
os
.
path
.
join
(
report_path
,
execute_bin_xml
)
if
not
self
.
check_xml_exist
(
execute_bin_xml
):
return
tests
from
xml.etree
import
ElementTree
...
...
@@ -575,7 +584,11 @@ class CppTestDriver(IDriver):
client
.
close
()
else
:
for
report_xml
in
glob
.
glob
(
os
.
path
.
join
(
report_path
,
'*.xml'
)):
os
.
remove
(
report_xml
)
try
:
os
.
remove
(
report_xml
)
except
Exception
as
exception
:
LOG
.
error
(
"remove {} Failed.{}"
.
format
(
report_xml
,
exception
))
def
__result__
(
self
):
return
self
.
result
if
os
.
path
.
exists
(
self
.
result
)
else
""
...
...
src/xdevice/_core/environment/device_lite.py
浏览文件 @
a4f7aee3
...
...
@@ -354,9 +354,11 @@ class DeviceLite(IDevice):
timeout
=
timeout
,
receiver
=
receiver
)
if
not
receiver
:
LOG
.
debug
(
"execute result:%s"
,
filter_result
)
if
not
status
:
LOG
.
debug
(
"error_message:%s"
,
error_message
)
LOG
.
debug
(
"%s execute result:%s"
%
(
convert_serial
(
self
.
__get_serial__
()),
filter_result
))
if
not
status
:
LOG
.
debug
(
"%s error_message:%s"
%
(
convert_serial
(
self
.
__get_serial__
()),
error_message
))
return
filter_result
,
status
,
error_message
def
recover_device
(
self
):
...
...
@@ -368,7 +370,7 @@ class DeviceLite(IDevice):
execute_command_with_timeout
(
command
=
"reset"
,
timeout
=
30
)
if
not
filter_result
:
if
check_mode
(
ModeType
.
decc
):
LOG
.
debug
(
"
s
et device %s recover state to false"
%
LOG
.
debug
(
"
S
et device %s recover state to false"
%
self
.
device_sn
)
self
.
device_allocation_state
=
DeviceAllocationState
.
unusable
self
.
set_recover_state
(
False
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录