oeqa core and oe-selftest threaded enablement
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 Latest30 patches 4 repliesIn review
- v229 patches 5 repliesSuperseded
- v130 patches 21 repliesSuperseded
Patches in v3 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/30 | oeqa/core/loader: Generate function _make_failed_test dynamicallymeta/ | +12 | 0 replies | |
| 2/30 | selftest/cases/package: Call parent setUpClass methodmeta/ | +2 | 0 replies | |
| 3/30 | oeqa/selftest/{context, case}: Handle KeyboardInterrupt/SIGINT and SIGTERMmeta/ meta/ | +97 | 0 replies | |
| 4/30 | bb/server/process: Handle EINTR on idle_commands selectbitbake/ | +6 | 0 replies | |
| 5/30 | bb/tinfoil: run_command handle busy status in bitbake serverbitbake/ | +19 | 0 replies | |
| 6/30 | oe/copy_buildsystem: check_sstate_task_list also pop BBPATH from envmeta/ | +1 | 0 replies | |
| 7/30 | oeqa/core/threaded: Enable support to use the main threadmeta/ | +83 | 0 replies | |
| 8/30 | oeqa/core/threaded: Add support to run into a thread at end of executionmeta/ | +78 | 0 replies | |
| 9/30 | oeqa/core/threaded: logSummary add skipped tests infometa/ | +11 | 0 replies | |
| 10/30 | oeqa/core/tests: Update test_loader threaded to cover main thread usagemeta/ | +10 | 0 replies | |
| 11/30 | oeqa/selftest/{case, context}: Add builddir by test class and contextmeta/ meta/ | +74 | 1 reply | |
| 12/30 | oeqa/selftest/case: Add wrappers to utils.commands modulesmeta/ | +94 | 0 replies | |
| 13/30 | oeqa/selftest/case: Creates meta-selftest layer per classmeta/ | +31 | 0 replies | |
| 14/30 | oeqa/selftest/case: tearDown extra commands print what actually failsmeta/ | +9 | 0 replies | |
| 15/30 | oeqa/selftest/case: Support bitbake memres mode in per build directorymeta/ | +9 | 0 replies | |
| 16/30 | oeqa/selftest/cases: Use testlayer_path instead of call get_test_layer()meta/ meta/ meta/ +2 more | +6 | 0 replies | |
| 17/30 | oeqa/selftest/cases: Use builddir from class instead of get from environmentmeta/ meta/ meta/ +1 more | +7 | 0 replies | |
| 18/30 | oeqa/selftest/cases: Use wrapper methods from OESelfTestCase class and enable threaded runsmeta/ meta/ meta/ +19 more | +284 | 0 replies | |
| 19/30 | oeqa/selftest/cases: imagefeatures enable threaded runsmeta/ meta/ | +73 | 0 replies | |
| 20/30 | oeqa/selftest/cases: runqemu enable threaded runsmeta/ | +3 | 0 replies | |
| 21/30 | oeqa/selftest/cases: runtime enable threaded runsmeta/ meta/ meta/ | +226 | 0 replies | |
| 22/30 | oeqa/selftest/cases: eSDK enable threaded runsmeta/ | +22 | 0 replies | |
| 23/30 | oeqa/selftest/cases: devtool enable threaded runsmeta/ | +325 | 0 replies | |
| 24/30 | oeqa/selftest/cases: recipetool enable for threaded runsmeta/ | +54 | 0 replies | |
| 25/30 | oeqa/selftest/cases: Move devtool deploy test case to own modulemeta/ meta/ | +97 | 0 replies | |
| 26/30 | selftest/cases/devtool{, end}: Move update/finish_modify tests to its own modulemeta/ meta/ | +532 | 0 replies | |
| 27/30 | seltest/cases/devtool: Build dbus on test_devtool_add_git_localmeta/ | +2 | 0 replies | |
| 28/30 | argparse_oe: Add int_positive typescripts/ | +7 | 0 replies | |
| 29/30 | oeqa/selftest/context: Enable support for threaded runsmeta/ | +25 | 0 replies | |
| 30/30 | oeqa/selftest/cases: systemd_boot enable threaded runsmeta-yocto-bsp/ | +14 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.
Cover letter [PATCHv3 00/30] oeqa core and oe-selftest threaded enablement
This v3 makes changes on tinfoil busy status patch and adds an environment variable to oe-seltest script to specify number of threads. There are patches for bitbake [3] and meta-yocto-bsp [4] that was send to their specific ML.
The first 6 patches previous enable support of threads in oeqa core are independent and can be merged first.
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
[3] http://lists.openembedded.org/pipermail/bitbake-devel/2017-July/008794.html
[4] https://lists.yoctoproject.org/pipermail/yocto/2017-July/037140.html
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 a4f2bf37b7eac888f37f11cd4d4606436909c507:
mpc8315e-rdb: add wic.bmap to IMAGE_FSTYPES (2017-07-17 15:14:27 +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 (30):
oeqa/core/loader: Generate function _make_failed_test dynamically selftest/cases/package: Call parent setUpClass method oeqa/selftest/{context,case}: Handle KeyboardInterrupt/SIGINT and
SIGTERM
bb/server/process: Handle EINTR on idle_commands select 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 and
enable threaded runs
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/server/process.py | 7 +- bitbake/lib/bb/tinfoil.py | 24 +- .../lib/oeqa/selftest/cases/systemd_boot.py | 26 +- meta/lib/oe/copy_buildsystem.py | 1 + meta/lib/oeqa/core/loader.py | 25 +- 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 | 58 +- 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 | 64 +- 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/selftest.py | 2 + meta/lib/oeqa/selftest/cases/signing.py | 42 +- meta/lib/oeqa/selftest/cases/sstate.py | 5 +- meta/lib/oeqa/selftest/cases/sstatetests.py | 51 +- meta/lib/oeqa/selftest/context.py | 140 ++- scripts/lib/argparse_oe.py | 7 + 43 files changed, 2030 insertions(+), 1565 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
Signature · 1 line
2.11.0