diff options
| author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2016-05-11 13:53:22 +0300 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-01 16:22:46 +0100 |
| commit | 45c6a04a37b3dedb3eea7289c43978bddb8087c1 (patch) | |
| tree | 8a5784f80264a12294f49cb80e89be0248a85140 /meta/lib/oeqa | |
| parent | 1a0e20546ea451007b148f76c575eb3fea4bd8d1 (diff) | |
| download | poky-45c6a04a37b3dedb3eea7289c43978bddb8087c1.tar.gz | |
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>
Diffstat (limited to 'meta/lib/oeqa')
| -rw-r--r-- | meta/lib/oeqa/buildperf/base.py | 19 |
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): | |||
| 75 | class BuildPerfTest(object): | 75 | class BuildPerfTest(object): |
| 76 | """Base class for build performance tests""" | 76 | """Base class for build performance tests""" |
| 77 | SYSRES = 'sysres' | 77 | SYSRES = 'sysres' |
| 78 | DISKUSAGE = 'diskusage' | ||
| 78 | 79 | ||
| 79 | name = None | 80 | name = None |
| 80 | description = None | 81 | description = None |
| @@ -153,6 +154,24 @@ class BuildPerfTest(object): | |||
| 153 | with open(results_log, 'w') as fobj: | 154 | with open(results_log, 'w') as fobj: |
| 154 | fobj.write(timedata) | 155 | fobj.write(timedata) |
| 155 | 156 | ||
| 157 | def measure_disk_usage(self, path, name, legend): | ||
| 158 | """Estimate disk usage of a file or directory""" | ||
| 159 | # TODO: 'ignore_status' could/should be removed when globalres.log is | ||
| 160 | # deprecated. The function would just raise an exception, instead | ||
| 161 | ret = runCmd(['du', '-s', path], ignore_status=True) | ||
| 162 | if ret.status: | ||
| 163 | log.error("du failed, disk usage will be reported as 0") | ||
| 164 | size = 0 | ||
| 165 | self._failed = True | ||
| 166 | else: | ||
| 167 | size = int(ret.output.split()[0]) | ||
| 168 | log.debug("Size of %s path is %s", path, size) | ||
| 169 | measurement = {'type': self.DISKUSAGE, | ||
| 170 | 'name': name, | ||
| 171 | 'legend': legend} | ||
| 172 | measurement['values'] = {'size': size} | ||
| 173 | self.results['measurements'].append(measurement) | ||
| 174 | |||
| 156 | @staticmethod | 175 | @staticmethod |
| 157 | def force_rm(path): | 176 | def force_rm(path): |
| 158 | """Equivalent of 'rm -rf'""" | 177 | """Equivalent of 'rm -rf'""" |
