Skip to content

OEQA threading support and selftest migration

Aníbal Limón openembedded-core 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest36 patches 6 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/36testsdk.bbclass: Remove unused import of OEStreamLoggermeta/classes/testsdk.bbclass+0 -10 replies
2/36oeqa/sdk/context.py: Import argparse_oe at OESDKTestContext.run methodmeta/lib/oeqa/sdk/context.py+2 -20 replies
3/36oeqa/sdk/context.py: Add return to OESDKTestContext.run() methodmeta/lib/oeqa/sdk/context.py+1 -10 replies
4/36oeqa/core: Don't expose OEStreamLogger in OETestContextmeta/lib/oeqa/core/context.py meta/lib/oeqa/core/runner.py+5 -40 replies
5/36oeqa/core/runner: OETestResult remove unneeded override of startTestmeta/lib/oeqa/core/runner.py+0 -30 replies
6/36oeqa/core: Move OETestContext.log{Summary, Details} into OETestResultmeta/classes/testimage.bbclass meta/classes/testsdk.bbclass meta/lib/oeqa/core/context.py +1 more+97 -960 replies
7/36oeqa/core/threaded: Add new module with OETestLoaderThreadedmeta/lib/oeqa/core/threaded.py+91 -00 replies
8/36oeqa/core/threaded: Add OEStreamLoggerThreaded classmeta/lib/oeqa/core/threaded.py+25 -00 replies
9/36oeqa/core/runner: OETestResult add internal _tc_map_resultsmeta/lib/oeqa/core/runner.py+2 -00 replies
10/36oeqa/core/threaded: Add OETestResultThreaded{, Internal} classesmeta/lib/oeqa/core/threaded.py+72 -10 replies
11/36oeqa/core/threaded: Add support of OETestRunnerThreadedmeta/lib/oeqa/core/threaded.py+74 -10 replies
12/36oeqa/core/threaded: Add OETestContextThreaded classmeta/lib/oeqa/core/threaded.py+14 -00 replies
13/36oeqa/core/decorator/depends: Add support for threading modemeta/lib/oeqa/core/decorator/depends.py+7 -10 replies
14/36oeqa/core/decorator/oetimeout: Add support for OEQA threaded modemeta/lib/oeqa/core/decorator/oetimeout.py+30 -100 replies
15/36oeqa/core/tests: Add tests of OEQA Threaded modemeta/lib/oeqa/core/tests/cases/loader/threaded/threaded.py meta/lib/oeqa/core/tests/cases/loader/threaded/threaded_alone.py meta/lib/oeqa/core/tests/cases/loader/threaded/threaded_depends.py +4 more+93 -10 replies
16/36oeqa/sdkext/cases: Move sdk_update test into devtool modulemeta/lib/oeqa/sdkext/cases/devtool.py meta/lib/oeqa/sdkext/cases/sdk_update.py+32 -390 replies
17/36oeqa/sdk: Enable usage of OEQA thread modemeta/classes/testsdk.bbclass meta/lib/oeqa/sdk/context.py+7 -20 replies
18/36oeqa/core: Add list tests support in context and runnermeta/lib/oeqa/core/context.py meta/lib/oeqa/core/runner.py+115 -50 replies
19/36oeqa/core: Add support for run tests by module, class and namemeta/lib/oeqa/core/context.py meta/lib/oeqa/core/loader.py+68 -40 replies
20/36classes/test{export, images}: Change modules to listmeta/classes/testexport.bbclass meta/classes/testimage.bbclass+2 -20 replies
21/36oeqa/runtime/case: Don't use OEQA framework internal methodsmeta/lib/oeqa/runtime/case.py+4 -40 replies
22/36oeqa/core/README: Improve documentationmeta/lib/oeqa/core/README+60 -210 replies
23/36oeqa/core/case: fix typo on comment about exception namemeta/lib/oeqa/core/case.py+1 -10 replies
24/36oeqa/core/context: Raise exception when a manifest is specified but missingmeta/lib/oeqa/core/context.py meta/lib/oeqa/core/exception.py+5 -10 replies
25/36oeqa/core/context: Use a default iterable modules objectmeta/lib/oeqa/core/context.py+1 -10 replies
26/36oeqa/core/context: Omit docstring output on XMLResultmeta/lib/oeqa/core/context.py+1 -10 replies
27/36oeqa/core/context: Include a _pre_run methodmeta/lib/oeqa/core/context.py meta/lib/oeqa/core/exception.py scripts/oe-test+10 -00 replies
28/36scripts/oe-test: Move load_test_components to oeqa.utilsmeta/lib/oeqa/core/context.py meta/lib/oeqa/utils/__init__.py scripts/oe-test+39 -300 replies
29/36oeqa/selftest: Move base class to case modulemeta/lib/oeqa/selftest/case.py+0 -00 replies
30/36oeqa/selftest/case: Migrate case class to the new OEQA frameworkmeta/lib/oeqa/selftest/case.py+51 -600 replies
31/36scripts/oe-selftest: Move {add, remove}_include files to casemeta/lib/oeqa/selftest/case.py scripts/oe-selftest+66 -640 replies
32/36oeqa/selftest/case.py: Remove machine selection logicmeta/lib/oeqa/selftest/case.py+4 -330 replies
33/36oeqa/selftest/case: Don't figure out the testlayer insidemeta/lib/oeqa/selftest/case.py+3 -30 replies
34/36scripts/oe-selftest: Migrate to new framework into oeqa.selftest.contextmeta/lib/oeqa/selftest/context.py scripts/oe-selftest+250 -7110 replies
35/36oeqa/selftest/cases: Migrate test cases into the new oe-qa frameworkmeta/lib/oeqa/selftest/__init__.py meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py meta/lib/oeqa/selftest/cases/archiver.py +32 more+355 -3870 replies
36/36selftest: Migrate systemd_boot test case to the new frameworkmeta-yocto-bsp/lib/oeqa/selftest/__init__.py meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py+5 -90 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/36] OEQA threading support and selftest migration

This series is the integration of tree main changes into the OEQA module,

* Implement threading support into OEQA core module
* Enables OEQA threaded mode into {,e}SDK test component
* Migrate current oe-selftest to use the same framework

The following changes since commit 5eed6c644f715783edb0d05926373e719442dd6a:

libpcap: add native package (2017-05-25 23:59:32 +0100)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib alimon/oeqa_integration
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=alimon/oeqa_integration

Aníbal Limón (25):
testsdk.bbclass: Remove unused import of OEStreamLogger oeqa/sdk/context.py: Import argparse_oe at OESDKTestContext.run method oeqa/sdk/context.py: Add return to OESDKTestContext.run() method oeqa/core: Don't expose OEStreamLogger in OETestContext oeqa/core/runner: OETestResult remove unneeded override of startTest oeqa/core: Move OETestContext.log{Summary, Details} into OETestResult oeqa/core/threaded: Add new module with OETestLoaderThreaded oeqa/core/threaded: Add OEStreamLoggerThreaded class oeqa/core/runner: OETestResult add internal _tc_map_results oeqa/core/threaded: Add OETestResultThreaded{,Internal} classes oeqa/core/threaded: Add support of OETestRunnerThreaded oeqa/core/threaded: Add OETestContextThreaded class oeqa/core/decorator/depends: Add support for threading mode oeqa/core/decorator/oetimeout: Add support for OEQA threaded mode oeqa/core/tests: Add tests of OEQA Threaded mode oeqa/sdkext/cases: Move sdk_update test into devtool module oeqa/sdk: Enable usage of OEQA thread mode
oeqa/core: Add list tests support in context and runner oeqa/core: Add support for run tests by module, class and name classes/test{export,images}: Change modules to list oeqa/runtime/case: Don't use OEQA framework internal methods scripts/oe-test: Move load_test_components to oeqa.utils oeqa/selftest: Move base class to case module oeqa/selftest/case: Don't figure out the testlayer inside
selftest: Migrate systemd_boot test case to the new framework

Leonardo Sandoval (11):
oeqa/core/README: Improve documentation
oeqa/core/case: fix typo on comment about exception name oeqa/core/context: Raise exception when a manifest is specified but
missing
oeqa/core/context: Use a default iterable modules object oeqa/core/context: Omit docstring output on XMLResult oeqa/core/context: Include a _pre_run method oeqa/selftest/case: Migrate case class to the new OEQA framework scripts/oe-selftest: Move {add,remove}_include files to case oeqa/selftest/case.py: Remove machine selection logic scripts/oe-selftest: Migrate to new framework into
oeqa.selftest.context
oeqa/selftest/cases: Migrate test cases into the new oe-qa framework

 meta-yocto-bsp/lib/oeqa/selftest/__init__.py       |   0
 .../lib/oeqa/selftest/{ => cases}/systemd_boot.py  |  14 +-
 meta/classes/testexport.bbclass                    |   2 +-
 meta/classes/testimage.bbclass                     |   6 +-
 meta/classes/testsdk.bbclass                       |  13 +-
 meta/lib/oeqa/core/README                          |  81 ++-
 meta/lib/oeqa/core/case.py                         |   2 +-
 meta/lib/oeqa/core/context.py                      | 127 +---
 meta/lib/oeqa/core/decorator/depends.py            |   8 +-
 meta/lib/oeqa/core/decorator/oetimeout.py          |  40 +-
 meta/lib/oeqa/core/exception.py                    |   6 +
 meta/lib/oeqa/core/loader.py                       |  66 +-
 meta/lib/oeqa/core/runner.py                       | 192 ++++-
 .../core/tests/cases/loader/threaded/threaded.py   |  12 +
 .../tests/cases/loader/threaded/threaded_alone.py  |   8 +
 .../cases/loader/threaded/threaded_depends.py      |  10 +
 .../tests/cases/loader/threaded/threaded_module.py |  12 +
 meta/lib/oeqa/core/tests/common.py                 |  10 +
 meta/lib/oeqa/core/tests/test_decorators.py        |  12 +
 meta/lib/oeqa/core/tests/test_loader.py            |  30 +-
 meta/lib/oeqa/core/threaded.py                     | 274 +++++++
 meta/lib/oeqa/runtime/case.py                      |   8 +-
 meta/lib/oeqa/sdk/context.py                       |  11 +-
 meta/lib/oeqa/sdkext/cases/devtool.py              |  32 +
 meta/lib/oeqa/sdkext/cases/sdk_update.py           |  39 -
 meta/lib/oeqa/selftest/__init__.py                 |   2 -
 meta/lib/oeqa/selftest/{base.py => case.py}        | 220 +++---
 .../selftest/{ => cases}/_sstatetests_noauto.py    |   7 +-
 meta/lib/oeqa/selftest/{ => cases}/archiver.py     |  14 +-
 meta/lib/oeqa/selftest/{ => cases}/bblayers.py     |  24 +-
 meta/lib/oeqa/selftest/{ => cases}/bbtests.py      |  57 +-
 meta/lib/oeqa/selftest/{ => cases}/buildhistory.py |   5 +-
 meta/lib/oeqa/selftest/{ => cases}/buildoptions.py |  34 +-
 .../oeqa/selftest/{ => cases}/containerimage.py    |   4 +-
 meta/lib/oeqa/selftest/{ => cases}/devtool.py      |  68 +-
 meta/lib/oeqa/selftest/{ => cases}/eSDK.py         |  18 +-
 .../lib/oeqa/selftest/{ => cases}/image_typedep.py |   4 +-
 .../lib/oeqa/selftest/{ => cases}/imagefeatures.py |  16 +-
 meta/lib/oeqa/selftest/{ => cases}/layerappend.py  |  15 +-
 meta/lib/oeqa/selftest/{ => cases}/liboe.py        |   7 +-
 .../{lic-checksum.py => cases/lic_checksum.py}     |   8 +-
 meta/lib/oeqa/selftest/{ => cases}/manifest.py     |  52 +-
 .../oeqa/selftest/{ => cases}/oelib/__init__.py    |   0
 .../selftest/{ => cases}/oelib/buildhistory.py     |   4 +-
 meta/lib/oeqa/selftest/{ => cases}/oelib/elf.py    |   4 +-
 .../lib/oeqa/selftest/{ => cases}/oelib/license.py |   6 +-
 meta/lib/oeqa/selftest/{ => cases}/oelib/path.py   |   4 +-
 meta/lib/oeqa/selftest/{ => cases}/oelib/types.py  |   6 +-
 meta/lib/oeqa/selftest/{ => cases}/oelib/utils.py  |   6 +-
 meta/lib/oeqa/selftest/{ => cases}/oescripts.py    |  15 +-
 meta/lib/oeqa/selftest/{ => cases}/package.py      |   4 +-
 meta/lib/oeqa/selftest/{ => cases}/pkgdata.py      |  29 +-
 meta/lib/oeqa/selftest/{ => cases}/prservice.py    |  27 +-
 meta/lib/oeqa/selftest/{ => cases}/recipetool.py   |  81 ++-
 meta/lib/oeqa/selftest/{ => cases}/runqemu.py      |  31 +-
 .../{runtime-test.py => cases/runtime_test.py}     |  15 +-
 meta/lib/oeqa/selftest/{ => cases}/signing.py      |  15 +-
 meta/lib/oeqa/selftest/{ => cases}/sstate.py       |   5 +-
 meta/lib/oeqa/selftest/{ => cases}/sstatetests.py  |  46 +-
 meta/lib/oeqa/selftest/{ => cases}/tinfoil.py      |  25 +-
 meta/lib/oeqa/selftest/{ => cases}/wic.py          |  84 +--
 meta/lib/oeqa/selftest/context.py                  | 224 ++++++
 meta/lib/oeqa/utils/__init__.py                    |  37 +-
 scripts/oe-selftest                                | 791 +--------------------
 scripts/oe-test                                    |  34 +-
 65 files changed, 1578 insertions(+), 1485 deletions(-)
 delete mode 100644 meta-yocto-bsp/lib/oeqa/selftest/__init__.py
 rename meta-yocto-bsp/lib/oeqa/selftest/{ => cases}/systemd_boot.py (91%)
 create mode 100644 meta/lib/oeqa/core/tests/cases/loader/threaded/threaded.py
 create mode 100644 meta/lib/oeqa/core/tests/cases/loader/threaded/threaded_alone.py
 create mode 100644 meta/lib/oeqa/core/tests/cases/loader/threaded/threaded_depends.py
 create mode 100644 meta/lib/oeqa/core/tests/cases/loader/threaded/threaded_module.py
 create mode 100644 meta/lib/oeqa/core/threaded.py
 delete mode 100644 meta/lib/oeqa/sdkext/cases/sdk_update.py
 delete mode 100644 meta/lib/oeqa/selftest/__init__.py
 rename meta/lib/oeqa/selftest/{base.py => case.py} (46%)
 rename meta/lib/oeqa/selftest/{ => cases}/_sstatetests_noauto.py (97%)
 rename meta/lib/oeqa/selftest/{ => cases}/archiver.py (91%)
 rename meta/lib/oeqa/selftest/{ => cases}/bblayers.py (94%)
 rename meta/lib/oeqa/selftest/{ => cases}/bbtests.py (95%)
 rename meta/lib/oeqa/selftest/{ => cases}/buildhistory.py (94%)
 rename meta/lib/oeqa/selftest/{ => cases}/buildoptions.py (94%)
 rename meta/lib/oeqa/selftest/{ => cases}/containerimage.py (97%)
 rename meta/lib/oeqa/selftest/{ => cases}/devtool.py (99%)
 rename meta/lib/oeqa/selftest/{ => cases}/eSDK.py (92%)
 rename meta/lib/oeqa/selftest/{ => cases}/image_typedep.py (93%)
 rename meta/lib/oeqa/selftest/{ => cases}/imagefeatures.py (95%)
 rename meta/lib/oeqa/selftest/{ => cases}/layerappend.py (93%)
 rename meta/lib/oeqa/selftest/{ => cases}/liboe.py (96%)
 rename meta/lib/oeqa/selftest/{lic-checksum.py => cases/lic_checksum.py} (87%)
 rename meta/lib/oeqa/selftest/{ => cases}/manifest.py (80%)
 rename meta/lib/oeqa/selftest/{ => cases}/oelib/__init__.py (100%)
 rename meta/lib/oeqa/selftest/{ => cases}/oelib/buildhistory.py (97%)
 rename meta/lib/oeqa/selftest/{ => cases}/oelib/elf.py (92%)
 rename meta/lib/oeqa/selftest/{ => cases}/oelib/license.py (93%)
 rename meta/lib/oeqa/selftest/{ => cases}/oelib/path.py (97%)
 rename meta/lib/oeqa/selftest/{ => cases}/oelib/types.py (93%)
 rename meta/lib/oeqa/selftest/{ => cases}/oelib/utils.py (91%)
 rename meta/lib/oeqa/selftest/{ => cases}/oescripts.py (72%)
 rename meta/lib/oeqa/selftest/{ => cases}/package.py (97%)
 rename meta/lib/oeqa/selftest/{ => cases}/pkgdata.py (96%)
 rename meta/lib/oeqa/selftest/{ => cases}/prservice.py (93%)
 rename meta/lib/oeqa/selftest/{ => cases}/recipetool.py (97%)
 rename meta/lib/oeqa/selftest/{ => cases}/runqemu.py (92%)
 rename meta/lib/oeqa/selftest/{runtime-test.py => cases/runtime_test.py} (97%)
 rename meta/lib/oeqa/selftest/{ => cases}/signing.py (96%)
 rename meta/lib/oeqa/selftest/{ => cases}/sstate.py (95%)
 rename meta/lib/oeqa/selftest/{ => cases}/sstatetests.py (97%)
 rename meta/lib/oeqa/selftest/{ => cases}/tinfoil.py (96%)
 rename meta/lib/oeqa/selftest/{ => cases}/wic.py (97%)
 create mode 100644 meta/lib/oeqa/selftest/context.py
Signature · 1 line
2.1.4