summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2016-05-11 13:53:22 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-01 16:22:46 +0100
commit45c6a04a37b3dedb3eea7289c43978bddb8087c1 (patch)
tree8a5784f80264a12294f49cb80e89be0248a85140
parent1a0e20546ea451007b148f76c575eb3fea4bd8d1 (diff)
downloadopenembedded-core-contrib-45c6a04a37b3dedb3eea7289c43978bddb8087c1.tar.gz
openembedded-core-contrib-45c6a04a37b3dedb3eea7289c43978bddb8087c1.tar.bz2
openembedded-core-contrib-45c6a04a37b3dedb3eea7289c43978bddb8087c1.zip
oeqa.buildperf: add method for measuring file disk usage
Add a new method to BuildPerfTest class for measuring the disk usage of a file of directory. (From OE-Core rev: 85cdc240e75d481e93238fbf75f8b8431da05f19) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oeqa/buildperf/base.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/meta/lib/oeqa/buildperf/base.py b/meta/lib/oeqa/buildperf/base.py
index 230a7e7925..e29e9d1579 100644
--- a/meta/lib/oeqa/buildperf/base.py
+++ b/meta/lib/oeqa/buildperf/base.py
@@ -75,6 +75,7 @@ def time_cmd(cmd, **kwargs):
class BuildPerfTest(object):
"""Base class for build performance tests"""
SYSRES = 'sysres'
+ DISKUSAGE = 'diskusage'
name = None
description = None
@@ -153,6 +154,24 @@ class BuildPerfTest(object):
with open(results_log, 'w') as fobj:
fobj.write(timedata)
+ 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 = runCmd(['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)
+ measurement = {'type': self.DISKUSAGE,
+ 'name': name,
+ 'legend': legend}
+ measurement['values'] = {'size': size}
+ self.results['measurements'].append(measurement)
+
@staticmethod
def force_rm(path):
"""Equivalent of 'rm -rf'"""