]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commit
oeqa/sdk: Simplify test specification and discovery
authorThune Tran <thune.a.tran@boeing.com>
Thu, 26 Jun 2025 20:57:21 +0000 (20:57 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 1 Jul 2025 07:47:23 +0000 (08:47 +0100)
commitbde94c128c0b4e7e1ebea40f582b4dd6dcc965ff
treeec48ff598d0dba959e45f21768a7b4e890bd3231
parent1030223a43aa4500c0d4ebd9dfacf60b44239481
oeqa/sdk: Simplify test specification and discovery

Simplify how tests are specified and discovered for different SDK configurations
to allow per-layer customization.

* Introduce `TESTSDK_CASE_DIRS` variable to specify test directory types,
  replacing the need to modify the default_cases class member

* Discover tests from configured layers using a common discovery pattern
  (`<LAYER_DIR>/lib/oeqa/<dirname>/cases`) where `<dirname>` is specified in `TESTSDK_CASE_DIRS`

* The buildtools directories were renamed to follow the common discovery pattern
(`<LAYER_DIR>/lib/oeqa/<dirname>/cases`) for consistency across all SDK configurations.

  meta/lib/oeqa/
  ├── sdk/cases/              # Standard SDK: dirname="sdk"
  ├── buildtools/cases/       # Buildtools: dirname="buildtools"
  └── buildtools-docs/cases/  # Buildtools-docs: dirname="buildtools-docs"

  meta-mingw/lib/oeqa/
  └── sdkmingw/cases/         # MinGW: dirname="sdkmingw"

  meta-foo/lib/oeqa/
  └── sdk/cases/              # Standard SDK: dirname="sdk"

Tested by:

1. Adding new tests using the default discovery pattern `<LAYER_DIR>/lib/oeqa/sdk/cases` and
   verifying they are discovered and executed.

2. Verifying existing SDK configuration tests work (requires -c populate_sdk first):
   * Standard SDK: `bitbake core-image-minimal -c testsdk`
   * Buildtools tarball: `bitbake buildtools-tarball -c testsdk`
   * Buildtools docs tarball: `bitbake buildtools-docs-tarball -c testsdk`
   * Mingw SDK: (SDKMACHINE = "x86_64-mingw32") `bitbake core-image-minimal -c testsdk`

Signed-off-by: Thune Tran <thune.a.tran@boeing.com>
Signed-off-by: Chuck Wolber <chuck.wolber@boeing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-recipe/testsdk.bbclass
meta/lib/oeqa/buildtools-docs/cases/README [moved from meta/lib/oeqa/sdk/buildtools-docs-cases/README with 100% similarity]
meta/lib/oeqa/buildtools-docs/cases/build.py [moved from meta/lib/oeqa/sdk/buildtools-docs-cases/build.py with 100% similarity]
meta/lib/oeqa/buildtools/cases/README [moved from meta/lib/oeqa/sdk/buildtools-cases/README with 100% similarity]
meta/lib/oeqa/buildtools/cases/build.py [moved from meta/lib/oeqa/sdk/buildtools-cases/build.py with 100% similarity]
meta/lib/oeqa/buildtools/cases/gcc.py [moved from meta/lib/oeqa/sdk/buildtools-cases/gcc.py with 100% similarity]
meta/lib/oeqa/buildtools/cases/https.py [moved from meta/lib/oeqa/sdk/buildtools-cases/https.py with 100% similarity]
meta/lib/oeqa/buildtools/cases/sanity.py [moved from meta/lib/oeqa/sdk/buildtools-cases/sanity.py with 100% similarity]
meta/lib/oeqa/sdk/testsdk.py
meta/recipes-core/meta/buildtools-docs-tarball.bb
meta/recipes-core/meta/buildtools-tarball.bb