AUTHOR = """ uril@redhat.com (Uri Lublin) drusso@redhat.com (Dror Russo) mgoldish@redhat.com (Michael Goldish) dhuff@redhat.com (David Huff) aeromenk@redhat.com (Alexey Eromenko) mburns@redhat.com (Mike Burns) """ TIME = 'MEDIUM' NAME = 'KVM test' TEST_TYPE = 'client' TEST_CLASS = 'Virtualization' TEST_CATEGORY = 'Functional' DOC = """ Executes the KVM test framework on a given host. This module is separated in minor functions, that execute different tests for doing Quality Assurance on KVM (both kernelspace and userspace) code. For online docs, please refer to http://www.linux-kvm.org/page/KVM-Autotest """ import sys, os, logging from autotest_lib.client.common_lib import cartesian_config from autotest_lib.client.virt import virt_utils # set English environment (command output might be localized, need to be safe) os.environ['LANG'] = 'en_US.UTF-8' str = """ # This string will be parsed after build.cfg. Make any desired changes to the # build configuration here. For example: #release_tag = 84 """ parser = cartesian_config.Parser() kvm_test_dir = os.path.join(os.environ['AUTODIR'],'tests/kvm') parser.parse_file(os.path.join(kvm_test_dir, "build.cfg")) parser.parse_string(str) if not virt_utils.run_tests(parser, job): logging.error("KVM build step failed, exiting.") sys.exit(1) str = """ # This string will be parsed after tests.cfg. Make any desired changes to the # test configuration here. For example: #display = sdl #install, setup: timeout_multiplier = 3 """ parser = cartesian_config.Parser() parser.parse_file(os.path.join(kvm_test_dir, "tests.cfg")) if args: # We get test parameters from command line for arg in args: try: (key, value) = re.findall("^(\w+)=(.*)", arg)[0] if key == "only": str += "only %s\n" % value elif key == "no": str += "no %s\n" % value else: str += "%s = %s\n" % (key, value) except IndexError: pass parser.parse_string(str) virt_utils.run_tests(parser, job)