[OE-core] [PATCHv2 00/29] oeqa core and oe-selftest threaded enablement
Aníbal Limón
anibal.limon at linux.intel.com
Thu Jul 13 16:14:32 UTC 2017
I found some other races in the test cases execution,
i will send a v3.
Cheers,
Anibal
On 07/12/2017 02:36 PM, Aníbal Limón wrote:
> 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
>
More information about the Openembedded-core
mailing list