The KVM-Autotest system is a client test for the autotest framework. Its main purpose is to serve as an automated regression testing tool for KVM developers, and for doing regular automated testing of KVM (provided you use it with the server testing infrastructure).
Autotest is a project that aims to provide tools and libraries to perform automated testing on the linux platform. KVM autotest is a subproject under the autotest umbrella. For more information on autotest, see http://autotest.kernel.org/. Autotest is a modular framework, and KVM autotest is nothing more than a submodule of the client module. Of course, for more complex testing we also use other parts of autotest, and for centralized tests, we deploy a full autotest infrastructure.
KVM autotest aims to be a centralizing project for most of the KVM functional and performance testing needs. We cover:
- Guest OS install, for both Windows (WinXP - Win7) and Linux (RHEL, Fedora, OpenSUSE and others through step engine mechanism)
- Serial output for Linux guests
- Migration, networking, timedrift and other types of tests
- Monitor control for both human and QMP protocols
- Build and use qemu using various methods (source tarball, git repo, rpm)
- Some level of performance testing can be made.
- The KVM unit tests can be run comfortably from inside kvm autotest, we do have full integration with the unittest execution
We support x86_64 hosts with hardware virtualization support (AMD and Intel), and Intel 32 and 64 bit guest operating systems.
- Getting Started with KVM testing - How to get your first tests up and running.
- Using the autotest command line - How to use the autotest cli to run your kvm tests in an easier way
- The test configuration file format - How to work with the framework configuration file format.
- KVM subtest reference - Brief overview of the available test API.
- Contribute to KVM autotest - Guidance on how to submit patches.
- Framework parameters - Lists and explains the parameters used by the framework.
- Adding New Step files - The default install mode for most guests now is the unattended install, but for some guests, we might need to use step based install. This explains how to do so.
- TODO - TODO list, for those interested in helping.