Bugfix:can not run a test suite if not under yardstick root path 15/26815/3
authorchenjiankun <chenjiankun1@huawei.com>
Tue, 10 Jan 2017 08:01:41 +0000 (08:01 +0000)
committerchenjiankun <chenjiankun1@huawei.com>
Sat, 14 Jan 2017 10:02:56 +0000 (10:02 +0000)
JIRA: YARDSTICK-530

Currently we can not run a test suite if we are not in yardstick root
path.
The reason is that the file in test suite config file use relative path.
So I change it to absolute path when run.

Change-Id: I62758bc67f466ac794d339b597562b3be05574fb
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
tests/unit/benchmark/core/test_task.py
yardstick/benchmark/core/task.py

index 5dd32ea..c56e210 100644 (file)
@@ -24,6 +24,7 @@ except ImportError:
 
 
 from yardstick.benchmark.core import task
+from yardstick.common import constants as consts
 
 
 class TaskTestCase(unittest.TestCase):
@@ -92,10 +93,10 @@ class TaskTestCase(unittest.TestCase):
         task_files, task_args, task_args_fnames = t.parse_suite()
         print("files=%s, args=%s, fnames=%s" % (task_files, task_args,
                                                 task_args_fnames))
-        self.assertEqual(task_files[0],
-                         'tests/opnfv/test_cases/opnfv_yardstick_tc037.yaml')
-        self.assertEqual(task_files[1],
-                         'tests/opnfv/test_cases/opnfv_yardstick_tc043.yaml')
+        self.assertEqual(task_files[0], self.change_to_abspath(
+                         'tests/opnfv/test_cases/opnfv_yardstick_tc037.yaml'))
+        self.assertEqual(task_files[1], self.change_to_abspath(
+                         'tests/opnfv/test_cases/opnfv_yardstick_tc043.yaml'))
         self.assertEqual(task_args[0], None)
         self.assertEqual(task_args[1], None)
         self.assertEqual(task_args_fnames[0], None)
@@ -109,10 +110,10 @@ class TaskTestCase(unittest.TestCase):
         task_files, task_args, task_args_fnames = t.parse_suite()
         print("files=%s, args=%s, fnames=%s" % (task_files, task_args,
                                                 task_args_fnames))
-        self.assertEqual(task_files[0],
-                         'tests/opnfv/test_cases/opnfv_yardstick_tc037.yaml')
-        self.assertEqual(task_files[1],
-                         'tests/opnfv/test_cases/opnfv_yardstick_tc043.yaml')
+        self.assertEqual(task_files[0], self.change_to_abspath(
+                         'tests/opnfv/test_cases/opnfv_yardstick_tc037.yaml'))
+        self.assertEqual(task_files[1], self.change_to_abspath(
+                         'tests/opnfv/test_cases/opnfv_yardstick_tc043.yaml'))
         self.assertEqual(task_args[0], None)
         self.assertEqual(task_args[1],
                          '{"host": "node1.LF","target": "node2.LF"}')
@@ -127,10 +128,10 @@ class TaskTestCase(unittest.TestCase):
         task_files, task_args, task_args_fnames = t.parse_suite()
         print("files=%s, args=%s, fnames=%s" % (task_files, task_args,
                                                 task_args_fnames))
-        self.assertEqual(task_files[0],
-                         'tests/opnfv/test_cases/opnfv_yardstick_tc037.yaml')
-        self.assertEqual(task_files[1],
-                         'tests/opnfv/test_cases/opnfv_yardstick_tc043.yaml')
+        self.assertEqual(task_files[0], self.change_to_abspath(
+                         'tests/opnfv/test_cases/opnfv_yardstick_tc037.yaml'))
+        self.assertEqual(task_files[1], self.change_to_abspath(
+                         'tests/opnfv/test_cases/opnfv_yardstick_tc043.yaml'))
         self.assertEqual(task_args[0], None)
         self.assertEqual(task_args[1], None)
         self.assertEqual(task_args_fnames[0], None)
@@ -144,10 +145,10 @@ class TaskTestCase(unittest.TestCase):
         task_files, task_args, task_args_fnames = t.parse_suite()
         print("files=%s, args=%s, fnames=%s" % (task_files, task_args,
                                                 task_args_fnames))
-        self.assertEqual(task_files[0],
-                         'tests/opnfv/test_cases/opnfv_yardstick_tc037.yaml')
-        self.assertEqual(task_files[1],
-                         'tests/opnfv/test_cases/opnfv_yardstick_tc043.yaml')
+        self.assertEqual(task_files[0], self.change_to_abspath(
+                         'tests/opnfv/test_cases/opnfv_yardstick_tc037.yaml'))
+        self.assertEqual(task_files[1], self.change_to_abspath(
+                         'tests/opnfv/test_cases/opnfv_yardstick_tc043.yaml'))
         self.assertEqual(task_args[0], None)
         self.assertEqual(task_args[1],
                          '{"host": "node1.LF","target": "node2.LF"}')
@@ -159,6 +160,9 @@ class TaskTestCase(unittest.TestCase):
         file_path = os.path.join(curr_path, filename)
         return file_path
 
+    def change_to_abspath(self, filepath):
+        return os.path.join(consts.YARDSTICK_ROOT_PATH, filepath)
+
 
 def main():
     unittest.main()
index d9a8576..1a3d219 100644 (file)
@@ -195,6 +195,8 @@ class TaskParser(object):       # pragma: no cover
         LOG.info("\nStarting scenario:%s", cfg["name"])
 
         test_cases_dir = cfg.get("test_cases_dir", test_cases_dir_default)
+        test_cases_dir = os.path.join(constants.YARDSTICK_ROOT_PATH,
+                                      test_cases_dir)
         if test_cases_dir[-1] != os.sep:
             test_cases_dir += os.sep