[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