| Index: client/tests/kvm/tests/nicdriver_unload.py
|
| diff --git a/client/tests/kvm/tests/nicdriver_unload.py b/client/tests/kvm/tests/nicdriver_unload.py
|
| index 47318ba9c0193d5db8d48bde57167b4b91f98f5d..065c60eeb0d62e83e063513b38b301dcec0e599f 100644
|
| --- a/client/tests/kvm/tests/nicdriver_unload.py
|
| +++ b/client/tests/kvm/tests/nicdriver_unload.py
|
| @@ -1,7 +1,8 @@
|
| import logging, threading, os
|
| from autotest_lib.client.common_lib import error
|
| from autotest_lib.client.bin import utils
|
| -import kvm_utils, kvm_test_utils
|
| +import kvm_test_utils
|
| +
|
|
|
| def run_nicdriver_unload(test, params, env):
|
| """
|
| @@ -18,19 +19,14 @@ def run_nicdriver_unload(test, params, env):
|
| @param env: Dictionary with test environment.
|
| """
|
| timeout = int(params.get("login_timeout", 360))
|
| - vm = kvm_test_utils.get_living_vm(env, params.get("main_vm"))
|
| - session = kvm_test_utils.wait_for_login(vm, timeout=timeout)
|
| - logging.info("Trying to log into guest '%s' by serial", vm.name)
|
| - session2 = kvm_utils.wait_for(lambda: vm.serial_login(),
|
| - timeout, 0, step=2)
|
| - if not session2:
|
| - raise error.TestFail("Could not log into guest '%s'" % vm.name)
|
| + vm = env.get_vm(params["main_vm"])
|
| + vm.verify_alive()
|
| + session = vm.wait_for_login(timeout=timeout)
|
| + session_serial = vm.wait_for_serial_login(timeout=timeout)
|
|
|
| ethname = kvm_test_utils.get_linux_ifname(session, vm.get_mac_address(0))
|
| sys_path = "/sys/class/net/%s/device/driver" % (ethname)
|
| - s, o = session.get_command_status_output('readlink -e %s' % sys_path)
|
| - if s:
|
| - raise error.TestError("Could not find driver name")
|
| + o = session.cmd("readlink -e %s" % sys_path)
|
| driver = os.path.basename(o.strip())
|
| logging.info("driver is %s", driver)
|
|
|
| @@ -38,19 +34,12 @@ def run_nicdriver_unload(test, params, env):
|
| def run(self):
|
| remote_file = '/tmp/' + self.getName()
|
| file_list.append(remote_file)
|
| - ret = vm.copy_files_to(file_name, remote_file, timeout=scp_timeout)
|
| - if ret:
|
| - logging.debug("File %s was transfered successfuly", remote_file)
|
| - else:
|
| - logging.debug("Failed to transfer file %s", remote_file)
|
| + vm.copy_files_to(file_name, remote_file, timeout=scp_timeout)
|
| + logging.debug("File %s was transfered successfuly", remote_file)
|
|
|
| def compare(origin_file, receive_file):
|
| - cmd = "md5sum %s"
|
| check_sum1 = utils.hash_file(origin_file, method="md5")
|
| - s, output2 = session.get_command_status_output(cmd % receive_file)
|
| - if s != 0:
|
| - logging.error("Could not get md5sum of receive_file")
|
| - return False
|
| + output2 = session.cmd("md5sum %s" % receive_file)
|
| check_sum2 = output2.strip().split()[0]
|
| logging.debug("original file md5: %s, received file md5: %s",
|
| check_sum1, check_sum2)
|
| @@ -77,9 +66,11 @@ def run_nicdriver_unload(test, params, env):
|
| logging.info("Unload/load NIC driver repeatedly in guest...")
|
| while True:
|
| logging.debug("Try to unload/load nic drive once")
|
| - if session2.get_command_status(unload_load_cmd, timeout=120) != 0:
|
| - session.get_command_output("rm -rf /tmp/Thread-*")
|
| - raise error.TestFail("Unload/load nic driver failed")
|
| + try:
|
| + session_serial.cmd(unload_load_cmd, timeout=120)
|
| + except:
|
| + session.cmd_output("rm -rf /tmp/Thread-*")
|
| + raise
|
| pid, s = os.waitpid(pid, os.WNOHANG)
|
| status = os.WEXITSTATUS(s)
|
| if (pid, status) != (0, 0):
|
| @@ -96,7 +87,6 @@ def run_nicdriver_unload(test, params, env):
|
| t.join(timeout = scp_timeout)
|
| os._exit(0)
|
|
|
| - session2.close()
|
|
|
| try:
|
| logging.info("Check MD5 hash for received files in multi-session")
|
| @@ -105,11 +95,10 @@ def run_nicdriver_unload(test, params, env):
|
| raise error.TestFail("Fail to compare (guest) file %s" % f)
|
|
|
| logging.info("Test nic function after load/unload")
|
| - if not vm.copy_files_to(file_name, file_name):
|
| - raise error.TestFail("Fail to copy file from host to guest")
|
| + vm.copy_files_to(file_name, file_name)
|
| if not compare(file_name, file_name):
|
| raise error.TestFail("Test nic function after load/unload fail")
|
|
|
| finally:
|
| - session.get_command_output("rm -rf /tmp/Thread-*")
|
| + session.cmd_output("rm -rf /tmp/Thread-*")
|
| session.close()
|
|
|