Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
tp-qemu
提交
beb44f0b
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,发现更多精彩内容 >>
提交
beb44f0b
编写于
11月 04, 2013
作者:
S
Swapna Krishnan
提交者:
Lucas Meneghel Rodrigues
11月 04, 2013
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Updating rv_build_install.py to be more efficient
Signed-off-by: Swapna Krishnan (skrishna@redhat.com)
上级
2f73e078
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
49 addition
and
62 deletion
+49
-62
qemu/tests/rv_build_install.py
qemu/tests/rv_build_install.py
+49
-62
未找到文件。
qemu/tests/rv_build_install.py
浏览文件 @
beb44f0b
...
...
@@ -10,7 +10,8 @@ import os
import
time
import
re
from
autotest.client.shared
import
error
from
virttest
import
utils_misc
from
virttest.aexpect
import
ShellCmdError
from
virttest
import
utils_misc
,
utils_spice
,
aexpect
from
qemu.tests
import
rv_clearx
,
rv_input
...
...
@@ -32,40 +33,27 @@ def connect_to_vm(vm_name, env, params):
return
(
vm
,
vm_root_session
)
def
install_r
pms
(
rpms_to_install
,
vm_root_session
):
def
install_r
eq_pkgs
(
pkgsRequired
,
vm_root_session
,
params
):
"""
Fetches rpm and installs it
:params rpms_to_install: List of rpms to install
:params vm_root_session: Session object of VM
"""
for
rpm
in
rpms_to_install
:
logging
.
info
(
"Installing %s"
%
rpm
)
ret
,
output
=
vm_root_session
.
cmd_status_output
(
"wget %s"
%
rpm
)
if
ret
!=
0
:
logging
.
debug
(
output
)
ret
,
output
=
vm_root_session
.
cmd_status_output
(
"rpm -i %s"
%
rpm
.
split
(
"/"
)[
-
1
])
if
ret
!=
0
:
logging
.
debug
(
output
)
def
check_for_required_pkgs
(
pkgsRequired
,
vm_root_session
,
params
):
"""
Checks to see if packages are installed and if not, gets the url to install them
Checks to see if packages are installed and if not, installs the package
:params rpms_to_install: List of packages to check
:params vm_root_session: Session object of VM
:param params: Dictionary with test parameters.
"""
rpms_to_install
=
[]
for
pkgName
in
pkgsRequired
:
ret
,
output
=
vm_root_session
.
cmd_status_output
(
"rpm -q %s"
%
pkgName
)
if
ret
!=
0
:
logging
.
debug
(
output
)
rpms_to_install
.
append
(
params
.
get
(
re
.
sub
(
"-"
,
"_"
,
pkgName
)
+
"_url"
))
logging
.
info
(
"Checking to see if %s is installed"
%
pkgName
)
try
:
vm_root_session
.
cmd
(
"rpm -q %s"
%
pkgName
)
except
ShellCmdError
:
rpm
=
params
.
get
(
re
.
sub
(
"-"
,
"_"
,
pkgName
)
+
"_url"
)
logging
.
info
(
"Installing %s"
%
pkgName
)
try
:
vm_root_session
.
cmd
(
"yum -y localinstall %s"
%
rpm
,
timeout
=
300
)
except
ShellCmdError
:
logging
.
info
(
"Could not install %s"
%
pkgName
)
return
rpms_to_install
def
build_install_qxl
(
vm_root_session
,
vm_script_path
,
params
):
"""
...
...
@@ -76,16 +64,9 @@ def build_install_qxl(vm_root_session, vm_script_path, params):
:param params: Dictionary with test parameters.
"""
# Remove older versions of qxl driver if they exist
output
=
vm_root_session
.
cmd
(
"rm -rf /var/lib/xorg/modules/drivers/qxl_drv.so"
)
if
output
:
logging
.
debug
(
output
)
# Checking to see if required rpms exist and if not, install them
# Checking to see if required packages exist and if not, install them
pkgsRequired
=
[
"libpciaccess-devel"
,
"xorg-x11-util-macros"
,
"xorg-x11-server-devel"
]
rpms_to_install
=
check_for_required_pkgs
(
pkgsRequired
,
vm_root_session
,
params
)
install_rpms
(
rpms_to_install
,
vm_root_session
)
install_req_pkgs
(
pkgsRequired
,
vm_root_session
,
params
)
# latest spice-protocol is required to build qxl
output
=
vm_root_session
.
cmd
(
"%s -p spice-protocol"
%
(
vm_script_path
))
...
...
@@ -93,8 +74,7 @@ def build_install_qxl(vm_root_session, vm_script_path, params):
if
re
.
search
(
"Return code"
,
output
):
raise
error
.
TestFail
(
"spice-protocol was not installed properly"
)
ret
,
output
=
vm_root_session
.
cmd_status_output
(
"%s -p xf86-video-qxl"
%
(
vm_script_path
))
logging
.
info
(
ret
)
output
=
vm_root_session
.
cmd
(
"%s -p xf86-video-qxl"
%
(
vm_script_path
))
logging
.
info
(
output
)
if
re
.
search
(
"Return code"
,
output
):
raise
error
.
TestFail
(
"qxl was not installed properly"
)
...
...
@@ -110,21 +90,22 @@ def build_install_spicegtk(vm_root_session, vm_script_path, params):
"""
# Get version of spice-gtk before install
ret
,
output
=
vm_root_session
.
cmd_status_output
(
"LD_LIBRARY_PATH=/usr/local/lib remote-viewer --spice-gtk-version"
)
if
ret
!=
0
:
logging
.
error
(
output
)
else
:
try
:
output
=
vm_root_session
.
cmd
(
"LD_LIBRARY_PATH=/usr/local/lib remote-viewer --spice-gtk-version"
)
logging
.
info
(
output
)
except
ShellCmdError
:
logging
.
error
(
output
)
pkgsRequired
=
[
"libogg-devel"
,
"celt051-devel"
,
"libcacard-devel"
]
rpms_to_install
=
check_for_required_pkgs
(
pkgsRequired
,
vm_root_session
,
params
)
install_rpms
(
rpms_to_install
,
vm_root_session
)
install_req_pkgs
(
pkgsRequired
,
vm_root_session
,
params
)
rv_input
.
deploy_epel_repo
(
vm_root_session
,
params
)
ret
,
output
=
vm_root_session
.
cmd_status_output
(
"yum -y install perl-Text-CSV pyparsing"
,
timeout
=
300
)
logging
.
info
(
output
)
try
:
output
=
vm_root_session
.
cmd
(
"yum -y install perl-Text-CSV pyparsing"
,
timeout
=
300
)
logging
.
info
(
output
)
except
ShellCmdError
:
logging
.
error
(
output
)
# latest spice-protocol is required to build qxl
output
=
vm_root_session
.
cmd
(
"%s -p spice-protocol"
%
(
vm_script_path
))
...
...
@@ -132,18 +113,17 @@ def build_install_spicegtk(vm_root_session, vm_script_path, params):
if
re
.
search
(
"Return code"
,
output
):
raise
error
.
TestFail
(
"spice-protocol was not installed properly"
)
ret
,
output
=
vm_root_session
.
cmd_status_output
(
"%s -p spice-gtk"
%
(
vm_script_path
),
timeout
=
300
)
logging
.
info
(
ret
)
output
=
vm_root_session
.
cmd
(
"%s -p spice-gtk"
%
(
vm_script_path
),
timeout
=
300
)
logging
.
info
(
output
)
if
re
.
search
(
"Return code"
,
output
):
raise
error
.
TestFail
(
"spice-gtk was not installed properly"
)
# Get version of spice-gtk after install
ret
,
output
=
vm_root_session
.
cmd_status_output
(
"LD_LIBRARY_PATH=/usr/local/lib remote-viewer --spice-gtk-version"
)
if
ret
!=
0
:
logging
.
error
(
output
)
else
:
try
:
output
=
vm_root_session
.
cmd
(
"LD_LIBRARY_PATH=/usr/local/lib remote-viewer --spice-gtk-version"
)
logging
.
info
(
output
)
except
ShellCmdError
:
logging
.
error
(
output
)
def
build_install_vdagent
(
vm_root_session
,
vm_script_path
,
params
):
...
...
@@ -156,13 +136,14 @@ def build_install_vdagent(vm_root_session, vm_script_path, params):
"""
# Get current version of spice-vdagent
output
=
vm_root_session
.
cmd_output
(
"spice-vdagent -h"
)
logging
.
info
(
output
)
try
:
output
=
vm_root_session
.
cmd
(
"spice-vdagent -h"
)
logging
.
info
(
output
)
except
ShellCmdError
:
logging
.
error
(
output
)
pkgsRequired
=
[
"libpciaccess-devel"
]
rpms_to_install
=
check_for_required_pkgs
(
pkgsRequired
,
vm_root_session
,
params
)
install_rpms
(
rpms_to_install
,
vm_root_session
)
install_req_pkgs
(
pkgsRequired
,
vm_root_session
,
params
)
# latest spice-protocol is required to build vdagent
output
=
vm_root_session
.
cmd
(
"%s -p spice-protocol"
%
(
vm_script_path
))
...
...
@@ -176,14 +157,20 @@ def build_install_vdagent(vm_root_session, vm_script_path, params):
raise
error
.
TestFail
(
"spice-vd-agent was not installed properly"
)
# Restart vdagent
output
=
vm_root_session
.
cmd
(
"service spice-vdagentd restart"
)
logging
.
info
(
output
)
if
re
.
search
(
"fail"
,
output
,
re
.
IGNORECASE
):
try
:
output
=
vm_root_session
.
cmd
(
"service spice-vdagentd restart"
)
logging
.
info
(
output
)
if
re
.
search
(
"fail"
,
output
,
re
.
IGNORECASE
):
raise
error
.
TestFail
(
"spice-vd-agent was not started properly"
)
except
ShellCmdError
:
raise
error
.
TestFail
(
"spice-vd-agent was not started properly"
)
# Get version number of spice-vdagent
output
=
vm_root_session
.
cmd_output
(
"spice-vdagent -h"
)
logging
.
info
(
output
)
try
:
output
=
vm_root_session
.
cmd
(
"spice-vdagent -h"
)
logging
.
info
(
output
)
except
ShellCmdError
:
logging
.
error
(
output
)
def
run_rv_build_install
(
test
,
params
,
env
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录