Skip to contentSkip to conversation

Implement build performance test script in Python

PATCH New Markus Lehtonen 1 participant 1 message Jun 30, 2016

lore
Share & tools
lore
#0 lore raw

v2 cover Implement build performance test script in Python

Second iteration of the patchset. Changes since last version:
* BuildPerfTest.force_rm() method removed and replaced by oe.path.remove()
* File containing actual test cases renamed from basic_tests.py -> test_basic.py

Only minor changes so I'm not re-sending the whole patchset. New version is available in my contrib Git tree.

The following changes since commit
646c366c2566bd8dd6f73681cea9f5b021589a56:

gst-player: upgrade to latest HEAD (2016-06-27 14:08:37 +0100)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib marquiz/build
-perf-python-rewrite
http://git.openembedded.org/openembedded-core-contrib/log/?h=marquiz/
build-perf-python-rewrite

Markus Lehtonen (28):
oeqa.utils.commands: Introduce get_bb_vars() oeqa.utils.commands: use get_bb_vars() in get_bb_var() oeqa.utils.commands: runCmd: gracefully handle empty output oeqa.utils.commands: runCmd: return stderr output, too
scripts: introduce oe-build-perf-test
oe-build-perf-test: add pre-run sanity check
oe-build-perf-test: introduce oeqa.buildperf module oeqa.buildperf: functionality to drop kernel caches oeqa.buildperf: add BuildPerfTest class oeqa.buildperf: method for measuring system resource usage oeqa.buildperf: add method to log shell commands oeqa.buildperf: add method for measuring file disk usage oeqa.buildperf: add method for saving buildstats oeqa.buildperf: implement BuildPerfTestRunner class oeqa.buildperf: add test Test1P1
oeqa.buildperf: add test Test1P2
oeqa.buildperf: add test Test1P3
oeqa.buildperf: add test Test2
oeqa.buildperf: add test Test3
oeqa.buildperf: add test Test4
oeqa.buildperf: archive build/conf into test results
oe-build-perf-test: enable logging into file oeqa.utils: add git module
oeqa.buildperf: add git revision and branch to result data
oe-build-perf-test: implement --globalres-file option
oe-build-perf-test: enable locking
oe-build-perf-test: add --out-dir command line argument scripts/contrib: introduce build-perf-test-wrapper.sh

 meta/lib/oeqa/buildperf/__init__.py        |  15 +++++
 meta/lib/oeqa/buildperf/base.py            | 323
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++
 meta/lib/oeqa/buildperf/test_basic.py      | 134
++++++++++++++++++++++++++++++++++++++++++++
 meta/lib/oeqa/utils/commands.py            |  53 +++++++++++++-----
 meta/lib/oeqa/utils/git.py                 |  38 +++++++++++++
 scripts/contrib/build-perf-test-wrapper.sh | 102
+++++++++++++++++++++++++++++++++
 scripts/oe-build-perf-test                 | 133
+++++++++++++++++++++++++++++++++++++++++++
 7 files changed, 784 insertions(+), 14 deletions(-)
 create mode 100644 meta/lib/oeqa/buildperf/__init__.py
 create mode 100644 meta/lib/oeqa/buildperf/base.py
 create mode 100644 meta/lib/oeqa/buildperf/test_basic.py
 create mode 100644 meta/lib/oeqa/utils/git.py
 create mode 100755 scripts/contrib/build-perf-test-wrapper.sh
 create mode 100755 scripts/oe-build-perf-test