1. 安装
下载源代码
git clone git://github.com/autotest/autotest.git
安装其他的依赖
https://github.com/autotest/autotest/wiki/KVMAutotest-InstallPrerequesitePackagesClient
2. 快速配置
client/test/kvm/get_started.py
运行这个脚本,会使用一些默认的配置文件,并且设只好默认的路径。
3.查看配置
在运行之前,可以先查看一下当前的配置。 这样可以看到底有哪些测试会在本次测试中运行。
richard@richard:~/git/autotest$ cd client/tests/kvm
richard@richard:~/git/autotest/client/tests/kvm$ ../../common_lib/cartesian_config.py tests.cfg
dict 1: smp2.CustomGuestLinux.uptime
加上-c选项,可以列出详细参数
richard@richard:~/git/autotest/client/tests/kvm$ ../../common_lib/cartesian_config.py -c tests.cfg
dict 1: smp2.CustomGuestLinux.uptime
backup_image = no
backup_image_on_check_error = no
4. 运行简单的测试
richard@richard:~/git/autotest/client/tests/kvm$ ../../bin/autotest control
5. 查看测试结果
测试结果存放在 client/results/default
1. html 格式的 client/results/default/job_report.html
2. 文本格式的 在kvm 目录下运行 scan_results.py
richard@richard:~/git/autotest/client/tests/kvm$ ../../tools/scan_results.py
Test Status Seconds Info
---- ------ ------- ----
(Result file: ../../results/default/status)
smp2.CustomGuestLinux.uptime FAIL 369 Unhandled VMIPAddressMissingError: Cannot find IP address for MAC address 9a:6b:f5:f9:0a:6f [context: logging into 'vm1']
---- GOOD 372
3. 每个test的log存放在 client/results/default/test_name/log
6。添加一个uptime测试用例
diff --git a/client/tests/kvm/subtests.cfg.sample b/client/tests/kvm/subtests.cfg.sample
index ccfd2f8..16ee7cc 100644
--- a/client/tests/kvm/subtests.cfg.sample
+++ b/client/tests/kvm/subtests.cfg.sample
@@ -1113,6 +1113,9 @@ variants:
dd_timeout = 900
check_cmd_timeout = 900
+ - uptime: install setup image_copy unattended_install.cdrom
+ type = uptime
+
- cpu_hotplug_test:
type = cpu_hotplug
cpu_hotplug_timeout = 600
diff --git a/client/virt/tests/uptime.py b/client/virt/tests/uptime.py
new file mode 100644
index 0000000..dba62bc
--- /dev/null
+++ b/client/virt/tests/uptime.py
@@ -0,0 +1,13 @@
+import logging
+def run_uptime(test, params, env):
+ """
+ Docstring describing uptime.
+ """
+ print run_uptime.__doc__
+ vm = env.get_vm(params["main_vm"])
+ vm.verify_alive()
+ timeout = float(params.get("login_timeout", 240))
+ session = vm.wait_for_login(timeout=timeout)
+ uptime = session.cmd('uptime')
+ logging.info("Guest uptime result is: %s", uptime)
+ if session.get_command_status("touch /tmp/snapshot_test") != 0:
+ error.TestFail("can not touch file");
+ else:
+ logging.info("can touch")
+ session.close()
7。 遇到测试错误 就退出
默认配置下,autotest会将所有的测试用例全部运行完后才退出。
不过有时候我们会希望当测试遇到错误后就直接退出。
将 tests.cfg中 abort_on_error = yes 注释去掉
8. 进一步理解kvm autotest 的配置文件
https://github.com/autotest/autotest/wiki/CartesianConfig
就是个笛卡尔积。
版权声明:本文为博主原创文章,未经博主允许不得转载。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com