Bugfix:can not run a test suite if not under yardstick root path
[yardstick.git] / yardstick / benchmark / scenarios / compute / cachestat.py
index 25300dd..0f60d46 100644 (file)
@@ -9,12 +9,14 @@
 
 """cache hit/miss ratio and usage statistics"""
 
+from __future__ import absolute_import
 import pkg_resources
 import logging
 import re
 import yardstick.ssh as ssh
 
 from yardstick.benchmark.scenarios import base
+from six.moves import zip
 
 LOG = logging.getLogger(__name__)
 
@@ -85,8 +87,7 @@ class CACHEstat(base.Scenario):
         self.client.wait(timeout=600)
 
         # copy scripts to host
-        self.client.run("cat > ~/cache_stat.sh",
-                        stdin=open(self.target_script, 'rb'))
+        self.client._put_file_shell(self.target_script, '~/cache_stat.sh')
 
         self.setup_done = True
 
@@ -121,7 +122,7 @@ class CACHEstat(base.Scenario):
                 ite += 1
                 values = line[:]
                 if values and len(values) == len(fields):
-                    cachestat[cache] = dict(zip(fields, values))
+                    cachestat[cache] = dict(list(zip(fields, values)))
 
         for entry in cachestat:
             for item in average: