]> code.ossystems Code Review - openembedded-core.git/commitdiff
oeqa.buildperf: include commands log file name in results.json
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Mon, 29 Aug 2016 19:48:31 +0000 (22:48 +0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 3 Sep 2016 08:58:31 +0000 (09:58 +0100)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/buildperf/base.py

index 0b2c0f8e733f62ecef739e35f0456fc221396cfc..be3a946ddf2f55d859ca9bf9a44422c412a71902 100644 (file)
@@ -220,6 +220,8 @@ class BuildPerfTestResult(unittest.TextTestResult):
                                 'status': status,
                                 'start_time': test.start_time,
                                 'elapsed_time': test.elapsed_time,
+                                'cmd_log_file': os.path.relpath(test.cmd_log_file,
+                                                                self.out_dir),
                                 'measurements': test.measurements}
         results['tests'] = tests
 
@@ -312,6 +314,10 @@ class BuildPerfTestCase(unittest.TestCase):
     def out_dir(self):
         return os.path.join(self.base_dir, self.name)
 
+    @property
+    def cmd_log_file(self):
+        return os.path.join(self.out_dir, 'commands.log')
+
     def setUp(self):
         """Set-up fixture for each test"""
         if self.build_target:
@@ -328,9 +334,8 @@ class BuildPerfTestCase(unittest.TestCase):
         """Run a command and log it's output"""
         cmd_str = cmd if isinstance(cmd, str) else ' '.join(cmd)
         log.info("Logging command: %s", cmd_str)
-        cmd_log = os.path.join(self.out_dir, 'commands.log')
         try:
-            with open(cmd_log, 'a') as fobj:
+            with open(self.cmd_log_file, 'a') as fobj:
                 runCmd2(cmd, stdout=fobj)
         except CommandError as err:
             log.error("Command failed: %s", err.retcode)
@@ -368,9 +373,8 @@ class BuildPerfTestCase(unittest.TestCase):
         cmd_str = cmd if isinstance(cmd, str) else ' '.join(cmd)
         log.info("Timing command: %s", cmd_str)
         data_q = SimpleQueue()
-        cmd_log = os.path.join(self.out_dir, 'commands.log')
         try:
-            with open(cmd_log, 'a') as fobj:
+            with open(self.cmd_log_file, 'a') as fobj:
                 proc = Process(target=_worker, args=(data_q, cmd,),
                                kwargs={'stdout': fobj})
                 proc.start()
@@ -380,7 +384,7 @@ class BuildPerfTestCase(unittest.TestCase):
                 raise data
         except CommandError:
             log.error("Command '%s' failed, see %s for more details", cmd_str,
-                      cmd_log)
+                      self.cmd_log_file)
             raise
         etime = data['elapsed_time']