[OE-core] [PATCHv2 00/29] oeqa core and oe-selftest threaded enablement
Aníbal Limón
anibal.limon at linux.intel.com
Wed Jul 12 19:36:46 UTC 2017
The v2 address comments did by Patrick about add better explanation
on the commit messages and some typos.
Other interesting information to add is that with this series we will
able to execute oe-selftest in around half [1] of the original time [2],
(9406.782s vs 17303.014s).
[1] https://bugzilla.yoctoproject.org/attachment.cgi?id=3863
[2] https://bugzilla.yoctoproject.org/attachment.cgi?id=3864
This series is to enable oe-selftest threaded runs along some fixes,
* Implementation of main/end thread usage in oeqa threaded
* Adaptation of oe-selftest cases to be able to run in threaded env,
** Usage of own build directory by Test class.
** Mark the test modules that are enabled to run into a thread.
** Split some test modules because aren't support run into a thread
due to bitbake/tinfoil constraints.
The oe-selftest script now has an cmdline option (-t) to enable threaded
runs, by default is set to 1, this needs to be set manually because
depending on HW resources available can cause ran out of cpu/memory.
By default the oe-selftest cases runs on the main thread and uses
the main build directory for compatibility purposes.
The following changes since commit 81498aac9560fbeaeb58eaada32ce80e0ea51628:
yocto-project-qs: Updated Next Steps list (2017-07-12 00:28:16 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib alimon/oe_selftest_threaded
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=alimon/oe_selftest_threaded
Aníbal Limón (29):
oeqa/core/loader: Switch method definition for _make_failed_test
oeqa/selftest/{context,case}: Handle KeyboardInterrupt/SIGINT and
SIGTERM
selftest/cases/package: Call parent setUpClass method
bb/tinfoil: run_command handle busy status in bitbake server
oe/copy_buildsystem: check_sstate_task_list also pop BBPATH from env
oeqa/core/threaded: Enable support to use the main thread
oeqa/core/threaded: Add support to run into a thread at end of
execution
oeqa/core/threaded: logSummary add skipped tests info
oeqa/core/tests: Update test_loader threaded to cover main thread
usage
oeqa/selftest/{case,context}: Add builddir by test class and context
oeqa/selftest/case: Add wrappers to utils.commands modules
oeqa/selftest/case: Creates meta-selftest layer per class
oeqa/selftest/case: tearDown extra commands print what actually fails
oeqa/selftest/case: Support bitbake memres mode in per build directory
oeqa/selftest/cases: Use testlayer_path instead of call
get_test_layer()
oeqa/selftest/cases: Use builddir from class instead of get from
environment
oeqa/selftest/cases: Use wrapper methods from OESelfTestCase class
oeqa/selftest/cases: imagefeatures enable threaded runs
oeqa/selftest/cases: runqemu enable threaded runs
oeqa/selftest/cases: runtime enable threaded runs
oeqa/selftest/cases: eSDK enable threaded runs
oeqa/selftest/cases: devtool enable threaded runs
oeqa/selftest/cases: recipetool enable for threaded runs
oeqa/selftest/cases: Move devtool deploy test case to own module
selftest/cases/devtool{,end}: Move update/finish_modify tests to its
own module
seltest/cases/devtool: Build dbus on test_devtool_add_git_local
argparse_oe: Add int_positive type
oeqa/selftest/context: Enable support for threaded runs
oeqa/selftest/cases: systemd_boot enable threaded runs
bitbake/lib/bb/tinfoil.py | 23 +-
.../lib/oeqa/selftest/cases/systemd_boot.py | 26 +-
meta/lib/oe/copy_buildsystem.py | 1 +
meta/lib/oeqa/core/loader.py | 4 +-
meta/lib/oeqa/core/tests/test_loader.py | 17 +-
meta/lib/oeqa/core/threaded.py | 169 +++-
meta/lib/oeqa/selftest/case.py | 251 ++++-
.../lib/oeqa/selftest/cases/_sstatetests_noauto.py | 23 +-
meta/lib/oeqa/selftest/cases/archiver.py | 21 +-
meta/lib/oeqa/selftest/cases/bblayers.py | 45 +-
meta/lib/oeqa/selftest/cases/bbtests.py | 103 +-
meta/lib/oeqa/selftest/cases/buildhistory.py | 9 +-
meta/lib/oeqa/selftest/cases/buildoptions.py | 51 +-
meta/lib/oeqa/selftest/cases/containerimage.py | 9 +-
meta/lib/oeqa/selftest/cases/devtool.py | 1014 +++++---------------
meta/lib/oeqa/selftest/cases/devtool_deploy.py | 93 ++
meta/lib/oeqa/selftest/cases/devtool_end.py | 506 ++++++++++
meta/lib/oeqa/selftest/cases/distrodata.py | 7 +-
meta/lib/oeqa/selftest/cases/eSDK.py | 61 +-
meta/lib/oeqa/selftest/cases/image_typedep.py | 8 +-
meta/lib/oeqa/selftest/cases/imagefeatures.py | 78 +-
meta/lib/oeqa/selftest/cases/imagefeatures_boot.py | 63 ++
meta/lib/oeqa/selftest/cases/layerappend.py | 22 +-
meta/lib/oeqa/selftest/cases/liboe.py | 13 +-
meta/lib/oeqa/selftest/cases/lic_checksum.py | 8 +-
meta/lib/oeqa/selftest/cases/manifest.py | 13 +-
meta/lib/oeqa/selftest/cases/oelib/buildhistory.py | 7 +-
meta/lib/oeqa/selftest/cases/oescripts.py | 5 +-
meta/lib/oeqa/selftest/cases/package.py | 12 +-
meta/lib/oeqa/selftest/cases/pkgdata.py | 73 +-
meta/lib/oeqa/selftest/cases/prservice.py | 19 +-
meta/lib/oeqa/selftest/cases/recipetool.py | 105 +-
meta/lib/oeqa/selftest/cases/runqemu.py | 7 +-
meta/lib/oeqa/selftest/cases/runtime_test.py | 225 +----
.../lib/oeqa/selftest/cases/runtime_test_export.py | 104 ++
.../oeqa/selftest/cases/runtime_test_postinsts.py | 114 +++
meta/lib/oeqa/selftest/cases/signing.py | 40 +-
meta/lib/oeqa/selftest/cases/sstate.py | 5 +-
meta/lib/oeqa/selftest/cases/sstatetests.py | 51 +-
meta/lib/oeqa/selftest/context.py | 137 ++-
scripts/lib/argparse_oe.py | 7 +
41 files changed, 1997 insertions(+), 1552 deletions(-)
create mode 100644 meta/lib/oeqa/selftest/cases/devtool_deploy.py
create mode 100644 meta/lib/oeqa/selftest/cases/devtool_end.py
create mode 100644 meta/lib/oeqa/selftest/cases/imagefeatures_boot.py
create mode 100644 meta/lib/oeqa/selftest/cases/runtime_test_export.py
create mode 100644 meta/lib/oeqa/selftest/cases/runtime_test_postinsts.py
--
2.11.0
More information about the Openembedded-core
mailing list