| import logging, os |
| from autotest_lib.client.common_lib import error |
| from autotest_lib.client.bin import utils |
| |
| |
| def run_clock_getres(test, params, env): |
| """ |
| Verify if guests using kvm-clock as the time source have a sane clock |
| resolution. |
| |
| @param test: kvm test object. |
| @param params: Dictionary with test parameters. |
| @param env: Dictionary with the test environment. |
| """ |
| source_name = "test_clock_getres/test_clock_getres.c" |
| source_name = os.path.join(test.bindir, "deps", source_name) |
| dest_name = "/tmp/test_clock_getres.c" |
| bin_name = "/tmp/test_clock_getres" |
| |
| if not os.path.isfile(source_name): |
| raise error.TestError("Could not find %s" % source_name) |
| |
| vm = env.get_vm(params["main_vm"]) |
| vm.verify_alive() |
| timeout = int(params.get("login_timeout", 360)) |
| session = vm.wait_for_login(timeout=timeout) |
| |
| vm.copy_files_to(source_name, dest_name) |
| session.cmd("gcc -lrt -o %s %s" % (bin_name, dest_name)) |
| session.cmd(bin_name) |
| logging.info("PASS: Guest reported appropriate clock resolution") |
| logging.info("Guest's dmesg:\n%s", session.cmd_output("dmesg").strip()) |