47 lines
1.5 KiB
Text
47 lines
1.5 KiB
Text
import logging, os, sys, fcntl
|
|
kvm_test_dir = "/usr/local/autotest/client/tests/kvm"
|
|
from autotest_lib.client.common_lib import cartesian_config
|
|
|
|
def get_control(params, custom_cfg):
|
|
control = '''
|
|
import sys, os, logging
|
|
os.environ['LANG'] = 'en_US.UTF-8'
|
|
kvm_test_dir = os.path.join(os.environ['AUTODIR'],'tests', 'kvm')
|
|
sys.path.append(kvm_test_dir)
|
|
from autotest_lib.client.common_lib import cartesian_config
|
|
from autotest_lib.client.virt import virt_utils
|
|
|
|
kernel_install_params = %s
|
|
custom_cfg = %s
|
|
|
|
def step_init():
|
|
job.next_step([step_test])
|
|
virt_utils.install_host_kernel(job, kernel_install_params)
|
|
|
|
def step_test():
|
|
parser = cartesian_config.Parser()
|
|
parser.parse_file(os.path.join(kvm_test_dir, "redhat.cfg"))
|
|
for line in custom_cfg:
|
|
parser.parse_string(line)
|
|
virt_utils.run_tests(parser, job)
|
|
''' % (params, custom_cfg)
|
|
return control
|
|
|
|
def run(machine):
|
|
parser = cartesian_config.Parser()
|
|
parser.parse_file(os.path.join(kvm_test_dir, "redhat.cfg"))
|
|
custom_cfg = $custom_job_cfg
|
|
for line in custom_cfg:
|
|
parser.parse_string(line)
|
|
generator = parser.get_dicts()
|
|
params = generator.next()
|
|
host = hosts.create_host(machine)
|
|
profile = params.get('host_install_profile')
|
|
timeout = int(params.get('host_install_timeout', 3600))
|
|
if profile:
|
|
host.install(profile=profile, timeout=timeout)
|
|
at = autotest.Autotest(host)
|
|
control = get_control(params, custom_cfg)
|
|
at.run(control)
|
|
|
|
job.parallel_simple(run, machines)
|