Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
tp-qemu
提交
52e1b4bd
T
tp-qemu
项目概览
openeuler
/
tp-qemu
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
tp-qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
52e1b4bd
编写于
11月 15, 2017
作者:
X
Xu Han
提交者:
GitHub
11月 15, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1081 from lijinlijin/rng_hotplug
rng_hotplug:reboot/shutdown guest after plug/unplug rng device
上级
dca0d628
6d57a109
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
61 addition
and
25 deletion
+61
-25
qemu/tests/cfg/rng_hotplug.cfg
qemu/tests/cfg/rng_hotplug.cfg
+18
-6
qemu/tests/rng_hotplug.py
qemu/tests/rng_hotplug.py
+43
-19
未找到文件。
qemu/tests/cfg/rng_hotplug.cfg
浏览文件 @
52e1b4bd
...
...
@@ -7,6 +7,9 @@
rng_num = 1
read_rng_timeout = 360
no no_virtio_rng
rng_basic_test = rng_bat
shutdown_method = shell
check_img = yes
Windows:
session_cmd_timeout = 240
read_rng_cmd = "WIN_UTILS:\random_%PROCESSOR_ARCHITECTURE%.exe"
...
...
@@ -29,12 +32,21 @@
stop_rngd = "service rngd stop"
variants:
- multi_rngs:
repeat_times = 1
rng_num = 4
test_after_hotplug = rng_bat
- one_rng:
variants:
- @default:
- with_reboot:
pm_test_after_unplug = boot
pm_test_after_plug = boot
reboot_method = shell
- with_system_reset:
pm_test_after_unplug = boot
pm_test_after_plug = boot
reboot_method = system_reset
- with_shutdown_after_unplug:
pm_test_after_unplug = shutdown
- with_shutdown_after_plug:
pm_test_after_plug = shutdown
- repeat_in_loop:
repeat_times = 500
rng_num = 1
test_before_hotplug = rng_bat
test_after_hotplug = rng_bat
qemu/tests/rng_hotplug.py
浏览文件 @
52e1b4bd
...
...
@@ -11,12 +11,16 @@ from avocado.core import exceptions
def
run
(
test
,
params
,
env
):
"""
Test hotplug/unplug of rng device
1) Boot up w/o rng device
2) Hotplug one or more rng devices
3) Run random read test after hotplug
4) Unplug rng devices
5) Repeat step 2 ~ step4 (option)
1) Boot up w/ one rng device
2) Unplug rng device
3) reboot/shutdown guest(optional)
4) Hotplug one or more rng devices
5) Run random read test after hotplug
6) Unplug rng devices
7) Repeat step 4 ~ step 6 (optional)
8) Hotplug one rng device
9) Run random read test after hotplug
10) Reboot/shutdown guest(optional)
:param test: QEMU test object
:param params: Dictionary with the test parameters
...
...
@@ -76,20 +80,28 @@ def run(test, params, env):
raise
exceptions
.
TestError
(
output
)
session
.
close
()
def
run_subtest
(
sub_test
):
"""
Run subtest(e.g. rng_bat,reboot,shutdown) when it's not None
:param sub_test: subtest name
"""
error_context
.
context
(
"Run %s subtest"
%
sub_test
)
utils_test
.
run_virt_sub_test
(
test
,
params
,
env
,
sub_test
)
login_timeout
=
int
(
params
.
get
(
"login_timeout"
,
360
))
repeat_times
=
int
(
params
.
get
(
"repeat_times"
,
1
))
rng_num
=
int
(
params
.
get
(
"rng_num"
,
1
))
test_before_hotplug
=
params
.
get
(
"test_before_hotplug"
)
test_after_hotplug
=
params
.
get
(
"test_after_hotplug"
)
rng_basic_test
=
params
.
get
(
"rng_basic_test"
)
pm_test_after_plug
=
params
.
get
(
"pm_test_after_plug"
)
pm_test_after_unplug
=
params
.
get
(
"pm_test_after_unplug"
)
vm
=
env
.
get_vm
(
params
[
"main_vm"
])
vm
.
verify_alive
()
vm
.
wait_for_login
(
timeout
=
login_timeout
)
if
test_before_hotplug
:
restart_rngd
(
vm
)
error_context
.
context
(
"Run %s before hotplug"
%
test_before_hotplug
)
utils_test
.
run_virt_sub_test
(
test
,
params
,
env
,
test_before_hotplug
)
# run rng test before hot-unplug
restart_rngd
(
vm
)
run_subtest
(
rng_basic_test
)
# Unplug attached rng device
device_ids
=
get_rng_id
(
vm
)
...
...
@@ -111,15 +123,27 @@ def run(test, params, env):
hotplug_rng
(
vm
,
new_dev
)
dev_list
.
append
(
new_dev
)
# Run test after hotplug
if
test_after_hotplug
and
i
==
xrange
(
repeat_times
)[
-
1
]:
restart_rngd
(
vm
)
error_context
.
context
(
"Run %s after hotplug"
%
test_after_hotplug
,
logging
.
info
)
utils_test
.
run_virt_sub_test
(
test
,
params
,
env
,
test_after_hotplug
)
# run rng test after hotplug
restart_rngd
(
vm
)
run_subtest
(
rng_basic_test
)
# run reboot/shutdown after hotplug
if
pm_test_after_plug
:
run_subtest
(
pm_test_after_plug
)
# run rng test after reboot,skip followed test if
# pm_test_after_plug is shutdown
if
vm
.
is_alive
():
run_subtest
(
rng_basic_test
)
else
:
return
stop_rngd
(
vm
)
time
.
sleep
(
5
)
for
dev
in
dev_list
:
unplug_rng
(
vm
,
dev
)
# run reboot/shutdown test after hot-unplug
if
pm_test_after_unplug
:
run_subtest
(
pm_test_after_unplug
)
if
not
vm
.
is_alive
():
return
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录