Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
tp-qemu
提交
7d442b94
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,发现更多精彩内容 >>
提交
7d442b94
编写于
6月 15, 2020
作者:
N
nanliu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
virtio-serial:Under named-pipe non-blocking testing
Signed-off-by:
N
Nana Liu
<
nanliu@redhat.com
>
上级
4a923f6c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
55 addition
and
0 deletion
+55
-0
qemu/tests/cfg/virtio_trace_pipenb.cfg
qemu/tests/cfg/virtio_trace_pipenb.cfg
+7
-0
qemu/tests/virtio_trace_pipenb.py
qemu/tests/virtio_trace_pipenb.py
+48
-0
未找到文件。
qemu/tests/cfg/virtio_trace_pipenb.cfg
0 → 100644
浏览文件 @
7d442b94
- virtio_trace_pipenb:
only Linux
type = virtio_trace_pipenb
smp = 1
serials += " vs2"
serial_type_vs2 = virtserialport
chardev_backend_vs2 = pipe
qemu/tests/virtio_trace_pipenb.py
0 → 100644
浏览文件 @
7d442b94
import
time
import
os
import
errno
from
virttest
import
error_context
@
error_context
.
context_aware
def
run
(
test
,
params
,
env
):
"""
Under named-pipe non-blocking testing:
1) Create pipe named by the following
2) Boot up a single-CPU guest with a virtio-serial device and
named-pipe chardev backend
3) Write data to the virtio-serial port until the guest stops.
4) check whether guest can work.
5) Read the named-pipe file on the host.
:param test: QEMU test object
:param params: Dictionary with the test parameters
:param env: Dictionary with test environment.
"""
timeout
=
float
(
params
.
get
(
"login_timeout"
,
360
))
vm
=
env
.
get_vm
(
params
[
"main_vm"
])
serials
=
params
[
"serials"
].
split
()
v_path
=
vm
.
get_serial_console_filename
(
serials
[
-
1
])
vm
.
verify_alive
()
session
=
vm
.
wait_for_login
(
timeout
=
timeout
)
out_put
=
session
.
cmd_output
(
"nohup cat /proc/kallsyms > /dev/virtio-ports/vs2 2>&1 &"
)
time
.
sleep
(
10
)
if
session
.
cmd_output
(
"date"
)
is
None
:
test
.
fail
(
"Guest shouldn't be blocked and a date should output!"
)
guest_pid
=
out_put
.
split
()[
1
]
pipe
=
os
.
open
(
v_path
,
os
.
O_RDONLY
|
os
.
O_NONBLOCK
)
while
True
:
try
:
os
.
read
(
pipe
,
1
)
except
OSError
as
e
:
if
e
.
errno
==
errno
.
EAGAIN
or
e
.
errno
==
errno
.
EWOULDBLOCK
:
time
.
sleep
(
5
)
break
else
:
raise
Exception
(
"Read data in host failed as %s"
%
e
)
if
not
session
.
cmd_status
(
"ps -p %s"
%
guest_pid
,
safe
=
True
):
test
.
fail
(
"send process in guest does not exit after all data are read out in host"
)
vm
.
verify_alive
()
vm
.
verify_kernel_crash
()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录