Skip to content

Update testkit 2026.08.30 - #94

Open
Milosz Wasilewski (mwasilew) wants to merge 2 commits into
qualcomm-linux:masterfrom
mwasilew:update-testkit-2026.08.30
Open

Milosz Wasilewski (mwasilew) wants to merge 2 commits into
qualcomm-linux:masterfrom
mwasilew:update-testkit-2026.08.30

Conversation

@mwasilew

Copy link
Copy Markdown

Update lava-test-plans layout to match new test definitions in qcom-linux-testkit

…ts by area

Tag testkit-2026.08.30 splits the single Ethernet test definition into seven
per-aspect ones, so Runner/suites/Connectivity/Ethernet/Ethernet.yaml is gone.
Point pre-merge-basic at Ethernet_Basic_Validation and rename it in the
EXCLUDED_TESTS lists of the devices that skip it.

The testkit ships 172 test definitions and lava-test-plans referenced 31 of
them. Add one test case per functional area so that all 172 are covered, and
expose the areas as test plans under testplans/*/qcom-distro/, so that a
caller can ask for --test-plan meta-qcom/qcom-distro/kernel and get one LAVA
job per sub-area.

The pre-merge test cases are left alone. They deliberately pick a small
subset across several areas to keep pull request feedback fast, and the CI
pipelines refer to them by name.

Entries that need something the board cannot provide on its own (an iperf3
peer, a Bluetooth peer, an access point, the audio clip bundle, an NHX config)
carry an include condition and drop out of the job when the matching variable
is unset.

Kernel_Selftests, Reboot_health_check, Stressapptest and Stress-ng are not
covered: the testkit ships a run.sh for them but no LAVA test definition, so
there is nothing for path: to point at.

Also turn the six testplan entries that were committed as regular files
holding a relative path into the symlinks they were meant to be.

Assisted-By: Claude Code:claude-opus-5
Signed-off-by: Milosz Wasilewski <milosz.wasilewski@oss.qualcomm.com>
--test-lava-validity started one container per generated job file, even
though the image and the mounted directory are the same for every file of a
run and lava-schema.py takes several job files at once and exits with the
number of invalid ones. On the same 8 job plan that is 4.40s and 8 leaked
containers before, 0.88s and none after.

A full "make test" went from ~676 containers to 240, which matters more
since the per area testplans took the meta-qcom group from 9 to 30 jobs per
device. The GitHub Action passes the same flags, so it gets this too.

test_lava_tags and test_lava_job_visibility passed --test-lava-validity but
not the container, so they silently fell back to the unpinned
lavasoftware/lava-server:latest and made CI pull a second image. Share the
two command line fragments so the whole suite validates against one pinned
container.

Also default AWS_EC2_METADATA_DISABLED in the Makefile. Rendering with
variables.ini asks for the audio clip URL, which shells out to "aws s3
presign"; with no credentials the CLI probes the EC2 metadata endpoint and
stalls for about 4s. 1379 tests do that, so it dominates a local run: the
three tests that use variables.ini outside the big group take 3.97s with it
and 16.14s without.

Assisted-By: Claude Code:claude-opus-5
Signed-off-by: Milosz Wasilewski <milosz.wasilewski@oss.qualcomm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants