-
Notifications
You must be signed in to change notification settings - Fork 0
KVMAutotest RunQemuUnittests
For a while now, qemu-kvm does contain a unittest suite that can be used to assess the behavior of some KVM subsystems. Ideally, they are supposed to PASS, provided you are running both the latest qemu-kvm and the latest linux Avi's tree. KVM autotest for quite a long time has support for running them in an automated way. It's a good opportunity to put your git branch to unittest, starting from a clean state (KVM autotest will fetch from your git tree, leaving your actual development tree intact and doing things from scratch, and that is less likely to mask problems).
People usually don't know that KVM autotest has support to build and install KVM for testing purposes, from many different software sources. You can:
- Build qemu-kvm from a git repo (most common choice for developers hacking on code)
- Install qemu-kvm from an rpm file (people testing a newly built rpm package)
- Install qemu-kvm straight from the Red Hat build systems (Koji is the instance of the build system for Fedora, Brew is the same, but for RHEL. With this we can perform quality control on both Fedora and RHEL packages, trying to anticipate breakages before the packages hit users)
For this article, we are going to focus on git based builds. Also, we are focusing on Fedora and RHEL. We'll try to write the article in a pretty generic fashion, you are welcome to improve this with details on how to do the same on your favorite linux distribution.
You need to verify that you can actually build qemu-kvm from source, as well as the unittest suite.
- Make sure you have the appropriate packages installed. You can read [[the install prerequesite packages (client) section | KVMAutotest-InstallPrerequesitePackagesClient]] for more information.
-
Git clone autotest to a convenient location, say
$HOME/Code/autotest
. See the download source documentation Please do use git and clone the repo to the location mentioned. -
Execute the
get_started.py
script (see [[the get started documentation | KVMAutotest-RunGetStartedScript]]. If you just want to run unittests, you can safely skip each and every iso download possible, as qemu-kvm will straight boot small kernel images (the unittests) rather than full blown OS installs. -
As running unittests is something that's fairly independent of other KVM autotest testing you can do, and it's something people are interested in, we prepared a special control file and a special configuration file for it. On the kvm directory, you can see the files
unittests.cfg
control.unittests
. You only need to editunittests.cfg
. -
The file
unittests.cfg
is a stand alone configuration for running unittests. It is comprised by a build variant and a unittests variant. Edit the file, it'll look like:... bunch of params needed for the kvm autotest preprocessor # Tests variants: - build: type = build vms = '' start_vm = no # Load modules built/installed by the build test? load_modules = no # Save the results of this build on test.resultsdir? save_results = no variants: - git: mode = git user_git_repo = git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git user_branch = next user_lbranch = next test_git_repo = git://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git - unittest: type = unittest vms = '' start_vm = no unittest_timeout = 600 testdev = yes extra_params += " -S" # In case you want to execute only a subset of the tests defined on the # unittests.cfg file on qemu-kvm, uncomment and edit test_list #test_list = idt_test hypercall vmexit realmode only build.git unittest
-
As you can see above, you have places to specify both the userspace git repo and the unittest git repo. You are then free to replace
user_git_repo
with your own git repo. It can be a remote git location, or it can simply be the path to a cloned tree inside your development machine. -
As of Fedora 15, that ships with gcc 4.6.0, the compilation is more strict, so things such as an unused variable in the code *will* lead to a build failure. You can disable that level of strictness by providing extra configure script options to your qemu-kvm userspace build. Right below the
user_git_repo line
, you can set the variableextra_configure_options
to include--disable-werror
. Let's say you also want kvm autotest to fetch from my local tree,/home/lmr/Code/qemu-kvm
, master branch, same for the kvm-unit-tests repo. If you make those changes, your build variant will look like:- git: mode = git user_git_repo = /home/lmr/Code/qemu-kvm extra_configure_options = --disable-werror user_branch = master user_lbranch = master test_git_repo = /home/lmr/Code/kvm-unit-tests
-
Now you can just run kvm autotest as usual, you just have to change the main control file (called
control
with the unittest onecontrol.unittests
$HOME/Code/autotest/client/bin/autotest $HOME/Code/autotest/client/tests/kvm/control.unittests
-
The output of a typical unittest execution looks like. Notice that autotest informs you where the logs of each individual unittests are located, so you can check that out as well.
07/14 18:49:44 INFO | unittest:0052| Running apic 07/14 18:49:44 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/apic.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S -cpu qemu64,+x2apic 07/14 18:49:46 INFO | unittest:0096| Waiting for unittest apic to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 18:59:46 ERROR| unittest:0108| Exception happened during apic: Timeout elapsed (600s) 07/14 18:59:46 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/apic.log 07/14 18:59:46 INFO | unittest:0052| Running smptest 07/14 19:00:15 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:00:16 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/smptest.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S 07/14 19:00:17 INFO | unittest:0096| Waiting for unittest smptest to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 19:00:17 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:00:18 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/smptest.log 07/14 19:00:18 INFO | unittest:0052| Running smptest3 07/14 19:00:18 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 3 -kernel '/usr/local/autotest/tests/kvm/unittests/smptest.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S 07/14 19:00:19 INFO | unittest:0096| Waiting for unittest smptest3 to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 19:00:19 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:00:20 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/smptest3.log 07/14 19:00:20 INFO | unittest:0052| Running vmexit 07/14 19:00:20 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/vmexit.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S 07/14 19:00:21 INFO | unittest:0096| Waiting for unittest vmexit to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 19:00:31 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:00:31 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/vmexit.log 07/14 19:00:31 INFO | unittest:0052| Running access 07/14 19:00:31 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/access.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S 07/14 19:00:32 INFO | unittest:0096| Waiting for unittest access to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 19:01:02 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:01:03 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/access.log 07/14 19:01:03 INFO | unittest:0052| Running emulator 07/14 19:01:03 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/emulator.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S 07/14 19:01:05 INFO | unittest:0096| Waiting for unittest emulator to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 19:01:06 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:01:07 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/emulator.log 07/14 19:01:07 INFO | unittest:0052| Running hypercall 07/14 19:01:07 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/hypercall.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S 07/14 19:01:08 INFO | unittest:0096| Waiting for unittest hypercall to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 19:01:08 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:01:09 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/hypercall.log 07/14 19:01:09 INFO | unittest:0052| Running idt_test 07/14 19:01:09 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/idt_test.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S 07/14 19:01:10 INFO | unittest:0096| Waiting for unittest idt_test to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 19:01:10 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:01:11 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/idt_test.log 07/14 19:01:11 INFO | unittest:0052| Running msr 07/14 19:01:11 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/msr.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S 07/14 19:01:12 INFO | unittest:0096| Waiting for unittest msr to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 19:01:13 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:01:13 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/msr.log 07/14 19:01:13 INFO | unittest:0052| Running port80 07/14 19:01:13 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/port80.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S 07/14 19:01:14 INFO | unittest:0096| Waiting for unittest port80 to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 19:01:31 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:01:32 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/port80.log 07/14 19:01:32 INFO | unittest:0052| Running realmode 07/14 19:01:32 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/realmode.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S 07/14 19:01:33 INFO | unittest:0096| Waiting for unittest realmode to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 19:01:33 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:01:34 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/realmode.log 07/14 19:01:34 INFO | unittest:0052| Running sieve 07/14 19:01:34 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/sieve.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S 07/14 19:01:35 INFO | unittest:0096| Waiting for unittest sieve to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 19:02:05 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:02:05 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/sieve.log 07/14 19:02:05 INFO | unittest:0052| Running tsc 07/14 19:02:05 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/tsc.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S 07/14 19:02:06 INFO | unittest:0096| Waiting for unittest tsc to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 19:02:06 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:02:07 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/tsc.log 07/14 19:02:07 INFO | unittest:0052| Running xsave 07/14 19:02:07 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/xsave.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S 07/14 19:02:08 INFO | unittest:0096| Waiting for unittest xsave to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 19:02:09 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:02:09 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/xsave.log 07/14 19:02:09 INFO | unittest:0052| Running rmap_chain 07/14 19:02:09 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/rmap_chain.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S 07/14 19:02:11 INFO | unittest:0096| Waiting for unittest rmap_chain to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 19:02:12 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:02:13 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/rmap_chain.log 07/14 19:02:13 INFO | unittest:0052| Running svm 07/14 19:02:13 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/svm.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S -enable-nesting -cpu qemu64,+svm 07/14 19:02:13 INFO | aexpect:0783| (qemu) qemu: -enable-nesting: invalid option 07/14 19:02:13 INFO | aexpect:0783| (qemu) (Process terminated with status 1) 07/14 19:02:13 ERROR| unittest:0108| Exception happened during svm: VM creation command failed: "/usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/svm.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S -enable-nesting -cpu qemu64,+svm" (status: 1, output: 'qemu: -enable-nesting: invalid option\n') 07/14 19:02:13 ERROR| unittest:0115| Not possible to collect logs 07/14 19:02:13 INFO | unittest:0052| Running svm-disabled 07/14 19:02:13 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/svm.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S -cpu qemu64,-svm 07/14 19:02:14 INFO | unittest:0096| Waiting for unittest svm-disabled to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 19:02:15 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:02:16 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/svm-disabled.log 07/14 19:02:16 INFO | unittest:0052| Running kvmclock_test 07/14 19:02:16 INFO | kvm_vm:0782| Running qemu command: /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std -monitor unix:'/tmp/monitor-humanmonitor1-20110714-184944-6ms0',server,nowait -qmp unix:'/tmp/monitor-qmpmonitor1-20110714-184944-6ms0',server,nowait -serial unix:'/tmp/serial-20110714-184944-6ms0',server,nowait -m 512 -smp 2 -kernel '/usr/local/autotest/tests/kvm/unittests/kvmclock_test.flat' -vnc :0 -chardev file,id=testlog,path=/tmp/testlog-20110714-184944-6ms0 -device testdev,chardev=testlog -S --append "10000000 `date +%s`" 07/14 19:02:17 INFO | unittest:0096| Waiting for unittest kvmclock_test to complete, timeout 600, output in /tmp/testlog-20110714-184944-6ms0 07/14 19:02:33 INFO | aexpect:0783| (qemu) (Process terminated with status 0) 07/14 19:02:34 INFO | unittest:0113| Unit test log collected and available under /usr/local/autotest/results/default/kvm.qemu-kvm-git.unittests/debug/kvmclock_test.log 07/14 19:02:34 ERROR| kvm:0094| Test failed: TestFail: Unit tests failed: apic svm
You might take a look at the unittests.cfg
config file options to do
some tweaking you might like, such as making the timeout to consider a
unittest as failed smaller and other things.
Please give us feedback on whether this procedure was helpful - email me at lmr AT redhat DOT com.