Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
tp-qemu
提交
3280268c
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,发现更多精彩内容 >>
未验证
提交
3280268c
编写于
5月 28, 2020
作者:
Y
YongxueHong
提交者:
GitHub
5月 28, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #2241 from YongxueHong/bug-1778666
cdrom_block_size_check: Improve codes
上级
40a7cc97
c1231390
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
41 addition
and
3 deletion
+41
-3
qemu/tests/cdrom_block_size_check.py
qemu/tests/cdrom_block_size_check.py
+39
-3
qemu/tests/cfg/cdrom_block_size_check.cfg
qemu/tests/cfg/cdrom_block_size_check.cfg
+2
-0
未找到文件。
qemu/tests/cdrom_block_size_check.py
浏览文件 @
3280268c
...
...
@@ -2,6 +2,7 @@ import re
import
logging
import
os
import
six
import
time
from
avocado.utils
import
process
...
...
@@ -10,6 +11,9 @@ from virttest import error_context
from
virttest
import
utils_misc
from
virttest
import
data_dir
from
virttest.qemu_capabilities
import
Flags
from
virttest.qemu_monitor
import
QMPCmdError
from
provider.cdrom
import
QMPEventCheckCDEject
,
QMPEventCheckCDChange
# This decorator makes the test function aware of context strings
...
...
@@ -141,12 +145,41 @@ def run(test, params, env):
msg
+=
" Output: %s"
%
output
test
.
error
(
msg
)
def
is_tray_open
(
qdev
):
for
block
in
vm
.
monitor
.
info
(
"block"
):
if
qdev
==
block
.
get
(
'qdev'
):
return
block
.
get
(
'tray_open'
)
def
wait_for_tray_open
(
qdev
):
if
not
utils_misc
.
wait_for
(
lambda
:
is_tray_open
(
qdev
),
30
,
1
,
3
):
test
.
error
(
"The cdrom's tray did not open."
)
def
change_media
(
device
,
target
):
try
:
with
change_check
:
vm
.
change_media
(
device
,
target
)
except
QMPCmdError
as
e
:
if
excepted_qmp_err
not
in
str
(
e
):
test
.
error
(
str
(
e
))
logging
.
warn
(
str
(
e
))
wait_for_tray_open
(
cdroms
)
with
change_check
:
vm
.
change_media
(
device
,
target
)
# FIXME: sleep to wait to sync the status of CD-ROM to VM.
time
.
sleep
(
sleep_time_after_change
)
def
eject_cdrom
(
device
):
with
eject_check
:
vm
.
eject_cdrom
(
device
,
True
)
cdroms
=
params
[
"test_cdroms"
]
params
[
"cdroms"
]
=
cdroms
params
[
"start_vm"
]
=
"yes"
show_mount_cmd
=
params
.
get
(
"show_mount_cmd"
)
mount_cmd
=
params
.
get
(
"mount_cdrom_cmd"
)
umount_cmd
=
params
.
get
(
"umount_cdrom_cmd"
)
excepted_qmp_err
=
params
.
get
(
'excepted_qmp_err'
)
sleep_time_after_change
=
params
.
get_numeric
(
'sleep_time_after_change'
,
30
)
os_type
=
params
[
"os_type"
]
error_context
.
context
(
"Get the main VM"
,
logging
.
info
)
main_vm
=
params
[
"main_vm"
]
...
...
@@ -166,9 +199,12 @@ def run(test, params, env):
file_size
=
file_size
)
cdrom_device
=
get_cdrom_device
(
vm
)
eject_check
=
QMPEventCheckCDEject
(
vm
,
cdrom_device
)
change_check
=
QMPEventCheckCDChange
(
vm
,
cdrom_device
)
error_context
.
context
(
"Attach a small cd iso file to the cdrom."
,
logging
.
info
)
vm
.
change_media
(
cdrom_device
,
orig_cdrom
)
change_media
(
cdrom_device
,
orig_cdrom
)
if
mount_cmd
:
mount_cdrom
(
session
,
guest_cdrom
,
mount_point
,
show_mount_cmd
,
mount_cmd
)
...
...
@@ -188,7 +224,7 @@ def run(test, params, env):
test
.
error
(
msg
)
error_context
.
context
(
"eject the cdrom from monitor."
,
logging
.
info
)
vm
.
eject_cdrom
(
cdrom_device
)
eject_cdrom
(
cdrom_device
)
cdrom_name
=
params
.
get
(
"final_cdrom"
,
"images/final.iso"
)
file_size
=
params
.
get
(
"final_cdrom_size"
,
1000
)
...
...
@@ -196,7 +232,7 @@ def run(test, params, env):
file_size
=
file_size
)
error_context
.
context
(
"Attach a bigger cd iso file to the cdrom."
,
logging
.
info
)
vm
.
change_media
(
cdrom_device
,
final_cdrom
)
change_media
(
cdrom_device
,
final_cdrom
)
if
mount_cmd
:
mount_cdrom
(
session
,
guest_cdrom
,
mount_point
,
show_mount_cmd
,
mount_cmd
)
...
...
qemu/tests/cfg/cdrom_block_size_check.cfg
浏览文件 @
3280268c
...
...
@@ -3,6 +3,8 @@
start_vm = no
test_cdroms = none
cdrom_without_file = yes
excepted_qmp_err = "Device '${test_cdroms}' is locked and force was not specified, "
excepted_qmp_err += "wait for tray to open and try again"
Linux:
check_cdrom_size_cmd = cat /sys/block/sr0/size
mount_cdrom_cmd = "mount %s %s"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录