Index: client/tests/kvm/tests/file_transfer.py |
diff --git a/client/tests/kvm/tests/file_transfer.py b/client/tests/kvm/tests/file_transfer.py |
index fe70b372094841fa78c00f46e20714a326669cf6..61982a63473c5919781d7df762f3b17e57b644bd 100644 |
--- a/client/tests/kvm/tests/file_transfer.py |
+++ b/client/tests/kvm/tests/file_transfer.py |
@@ -1,7 +1,7 @@ |
import logging, time, os |
from autotest_lib.client.common_lib import error |
from autotest_lib.client.bin import utils |
- |
+import kvm_utils |
def run_file_transfer(test, params, env): |
""" |
@@ -32,9 +32,13 @@ def run_file_transfer(test, params, env): |
count = int(filesize / 10) |
if count == 0: |
count = 1 |
- cmd = "dd if=/dev/zero of=%s/a.out bs=10M count=%d" % (dir_name, |
- count) |
- guest_path = tmp_dir + "b.out" |
+ |
+ host_path = os.path.join(dir_name, "tmp-%s" % |
+ kvm_utils.generate_random_string(8)) |
+ host_path2 = host_path + ".2" |
+ cmd = "dd if=/dev/zero of=%s bs=10M count=%d" % (host_path, count) |
+ guest_path = (tmp_dir + "file_transfer-%s" % |
+ kvm_utils.generate_random_string(8)) |
try: |
logging.info("Creating %dMB file on host", filesize) |
@@ -44,8 +48,7 @@ def run_file_transfer(test, params, env): |
logging.info("Transfering file host -> guest, timeout: %ss", |
transfer_timeout) |
t_begin = time.time() |
- vm.copy_files_to("%s/a.out" % dir_name, guest_path, |
- timeout=transfer_timeout) |
+ vm.copy_files_to(host_path, guest_path, timeout=transfer_timeout) |
t_end = time.time() |
throughput = filesize / (t_end - t_begin) |
logging.info("File transfer host -> guest succeed, " |
@@ -54,8 +57,7 @@ def run_file_transfer(test, params, env): |
logging.info("Transfering file guest -> host, timeout: %ss", |
transfer_timeout) |
t_begin = time.time() |
- vm.copy_files_from(guest_path, "%s/c.out" % dir_name, |
- timeout=transfer_timeout) |
+ vm.copy_files_from(guest_path, host_path2, timeout=transfer_timeout) |
t_end = time.time() |
throughput = filesize / (t_end - t_begin) |
logging.info("File transfer guest -> host succeed, " |
@@ -64,26 +66,18 @@ def run_file_transfer(test, params, env): |
raise error.TestError("Unknown test file transfer mode %s" % |
transfer_type) |
- for f in ['a.out', 'c.out']: |
- p = os.path.join(dir_name, f) |
- size = os.path.getsize(p) |
- logging.debug('Size of %s: %sB', f, size) |
- |
- md5_orig = utils.hash_file("%s/a.out" % dir_name, method="md5") |
- md5_new = utils.hash_file("%s/c.out" % dir_name, method="md5") |
- |
- if md5_orig != md5_new: |
+ if (utils.hash_file(host_path, method="md5") != |
+ utils.hash_file(host_path2, method="md5")): |
raise error.TestFail("File changed after transfer host -> guest " |
"and guest -> host") |
finally: |
logging.info('Cleaning temp file on guest') |
- clean_cmd += " %s" % guest_path |
- session.cmd(clean_cmd) |
+ session.cmd("rm -rf %s" % guest_path) |
logging.info('Cleaning temp files on host') |
try: |
- os.remove('%s/a.out' % dir_name) |
- os.remove('%s/c.out' % dir_name) |
+ os.remove(host_path) |
+ os.remove(host_path2) |
except OSError: |
pass |
session.close() |