Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
tp-qemu
提交
2741437f
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,体验更适合开发者的 AI 搜索 >>
未验证
提交
2741437f
编写于
7月 07, 2020
作者:
Y
YongxueHong
提交者:
GitHub
7月 07, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #2301 from YongxueHong/bug-1846976
block_hotplug_in_pause: Add step to verify the deleted event
上级
d87e9393
8d283f20
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
25 addition
and
2 deletion
+25
-2
qemu/tests/block_hotplug_in_pause.py
qemu/tests/block_hotplug_in_pause.py
+25
-2
未找到文件。
qemu/tests/block_hotplug_in_pause.py
浏览文件 @
2741437f
...
...
@@ -77,6 +77,23 @@ def run(test, params, env):
devs
=
[
dev
for
dev
in
devs
if
not
isinstance
(
dev
,
dtype
)]
return
devs
def
verify_deleted_event
(
device_list
,
timeout
=
120
):
def
get_deleted_event
(
dev_qid
):
for
event
in
vm
.
monitor
.
get_events
():
if
(
'DEVICE_DELETED'
in
event
.
get
(
"event"
)
and
'device'
in
event
.
get
(
'data'
)
and
dev_qid
==
event
.
get
(
'data'
)[
'device'
]):
return
True
return
False
for
dev
in
device_list
:
dev_qid
=
dev
.
get_qid
()
if
not
utils_misc
.
wait_for
(
lambda
:
get_deleted_event
(
dev_qid
),
timeout
,
0
,
0
):
test
.
fail
(
'Failed to get deleted event of %s '
'during %s sec.'
%
(
dev_qid
,
timeout
))
vm
.
monitor
.
clear_event
(
'DEVICE_DELETED'
)
def
verify_unplug_devices_by_qtree
(
device_list
,
timeout
=
30
):
"""verify the unplug devices in qtree"""
for
dev
in
device_list
:
...
...
@@ -112,7 +129,8 @@ def run(test, params, env):
dev
.
unplug_unhook
()
raise
DeviceUnplugError
(
dev
,
exc
,
vm
.
devices
)
def
block_unplug
(
device_list
,
verify_qtree
=
True
,
unplug_backend
=
True
):
def
block_unplug
(
device_list
,
verify_del_event
=
True
,
verify_qtree
=
True
,
unplug_backend
=
True
):
"""
Unplug disks and verify it in qtree
...
...
@@ -123,6 +141,9 @@ def run(test, params, env):
if
out
:
test
.
fail
(
"Failed to unplug device '%s'.Ouptut:
\n
%s"
%
(
dev
,
out
))
if
verify_del_event
:
verify_deleted_event
(
device_list
)
if
verify_qtree
:
verify_unplug_devices_by_qtree
(
device_list
)
...
...
@@ -255,7 +276,8 @@ def run(test, params, env):
else
:
blk_num
=
0
disks_before_unplug
=
disks_before_plug
block_unplug
(
device_list
,
not
is_vm_paused
,
not
is_vm_paused
)
block_unplug
(
device_list
,
not
is_vm_paused
,
not
is_vm_paused
,
not
is_vm_paused
)
if
is_vm_paused
:
error_context
.
context
(
"Resume vm after unplug"
)
...
...
@@ -263,6 +285,7 @@ def run(test, params, env):
is_vm_paused
=
False
# verify the unplugged device in qtree and unplug
# the backend only under the running status.
verify_deleted_event
(
device_list
)
verify_unplug_devices_by_qtree
(
device_list
)
unplug_backend_devices
(
device_list
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录