meta-openembedded/meta-python/recipes-core
Tim Orling 80e9601cc8 meta-python-ptest*-image: enable BBCLASSEXTEND parallel execution
Similar to "core-image-ptest: Switch to BBCLASSEXTEND parallel execution"

Refactor meta-python-ptest-image.bb for an image per ptest in the form of
meta-python-ptest-image-XXX using class extensions.

* Add meta-python-ptest-all-image.bb depends on ALL meta-python-ptest-image-XXX in meta-python
* Add meta-python-ptest-fast-image.bb depends on meta-python ptests which take less than ~30s

This allows parallel execution of the tests.

The downside to this approach is the parsing time of an image generating
this number of class extensions is slow but making it easier to execute
and collect test data should outweigh that.

A useful advantage is that the dependencies of each ptest package are
checked/tested individually.

Add to local.conf:
IMAGE_CLASSES += "testimage"

All the meta-python-ptest-image-XXX can be built with:
$ bitbake meta-python-ptest-all-image

Subsequently, all the ptest images can be run with:
$ bitbake -c testimage meta-python-ptest-all-image

You will likely want to limit the number of parallel image tests:

BB_NUMBER_THREADS = "4"

based on the number of TAP devices you have defined or the number of simultaneous
QEMU sessions your server can support.

Results can be summarized with:

$ resulttool report tmp/log/oeqa/testresults.json

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-04-04 13:39:45 -07:00
..
images meta-python-ptest*-image: enable BBCLASSEXTEND parallel execution 2023-04-04 13:39:45 -07:00
packagegroups Introduce python3-trustme to fix ptest error of python3-requests-toolbelt 2023-03-22 09:10:39 -07:00