[oe-commits] [openembedded-core] 56/103: oeqa.buildperf: treat failed measurements as errors

git at git.openembedded.org git at git.openembedded.org
Wed Aug 31 09:02:15 UTC 2016


rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit cb9afce8a7020108813dc7565249e681e5a6fae4
Author: Markus Lehtonen <markus.lehtonen at linux.intel.com>
AuthorDate: Fri Aug 26 10:33:10 2016 +0300

    oeqa.buildperf: treat failed measurements as errors
    
    Now failed measurements correctly cause a test failure (recorded as an
    error). There should be no need to continue the test if one step fails,
    especially now that the tests don't depend on each other.
    
    Signed-off-by: Markus Lehtonen <markus.lehtonen at linux.intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/lib/oeqa/buildperf/base.py | 36 +++++++++++++-----------------------
 1 file changed, 13 insertions(+), 23 deletions(-)

diff --git a/meta/lib/oeqa/buildperf/base.py b/meta/lib/oeqa/buildperf/base.py
index 83439f1..dbc534e 100644
--- a/meta/lib/oeqa/buildperf/base.py
+++ b/meta/lib/oeqa/buildperf/base.py
@@ -75,9 +75,7 @@ def time_cmd(cmd, **kwargs):
         if isinstance(cmd, str):
             timecmd = ' '.join(timecmd) + ' '
         timecmd += cmd
-        # TODO: 'ignore_status' could/should be removed when globalres.log is
-        # deprecated. The function would just raise an exception, instead
-        ret = runCmd2(timecmd, ignore_status=True, **kwargs)
+        ret = runCmd2(timecmd, **kwargs)
         timedata = tmpf.file.read()
     return ret, timedata
 
@@ -315,16 +313,15 @@ class BuildPerfTestCase(unittest.TestCase):
         cmd_str = cmd if isinstance(cmd, str) else ' '.join(cmd)
         log.info("Timing command: %s", cmd_str)
         cmd_log = os.path.join(self.out_dir, 'commands.log')
-        with open(cmd_log, 'a') as fobj:
-            ret, timedata = time_cmd(cmd, stdout=fobj)
-        if ret.status:
-            log.error("Time will be reported as 0. Command failed: %s",
-                      ret.status)
-            etime = timedelta(0)
-            self._failed = True
-        else:
-            match = re.search(r'.*wall clock.*: (?P<etime>.*)\n', timedata)
-            etime = str_time_to_timedelta(match.group('etime'))
+        try:
+            with open(cmd_log, 'a') as fobj:
+                ret, timedata = time_cmd(cmd, stdout=fobj)
+        except CommandError:
+            log.error("Command '%s' failed, see %s for more details", cmd_str,
+                      cmd_log)
+            raise
+        match = re.search(r'.*wall clock.*: (?P<etime>.*)\n', timedata)
+        etime = str_time_to_timedelta(match.group('etime'))
 
         measurement = {'type': self.SYSRES,
                        'name': name,
@@ -344,16 +341,9 @@ class BuildPerfTestCase(unittest.TestCase):
 
     def measure_disk_usage(self, path, name, legend):
         """Estimate disk usage of a file or directory"""
-        # TODO: 'ignore_status' could/should be removed when globalres.log is
-        # deprecated. The function would just raise an exception, instead
-        ret = runCmd2(['du', '-s', path], ignore_status=True)
-        if ret.status:
-            log.error("du failed, disk usage will be reported as 0")
-            size = 0
-            self._failed = True
-        else:
-            size = int(ret.output.split()[0])
-            log.debug("Size of %s path is %s", path, size)
+        ret = runCmd2(['du', '-s', path])
+        size = int(ret.output.split()[0])
+        log.debug("Size of %s path is %s", path, size)
         measurement = {'type': self.DISKUSAGE,
                        'name': name,
                        'legend': legend}

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list