Skip to content

Improve test-matrix coverage#186

Merged
jserv merged 1 commit into
sysprog21:mainfrom
Max042004:narrow-make-check-to-elfuse-internal
Jul 9, 2026
Merged

Improve test-matrix coverage#186
jserv merged 1 commit into
sysprog21:mainfrom
Max042004:narrow-make-check-to-elfuse-internal

Conversation

@Max042004

@Max042004 Max042004 commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Trim tests/manifest.txt from 118 to 69 entries: keep only tests with no real-kernel equivalent (EL1 shim fast-path suite, test-mremap-infra, test-oom-proc) plus whatever SANITIZER_SECTIONS needs for the check-{asan,ubsan,tsan} lanes.
  • test-matrix.sh now covers the full portable test surface against both elfuse-aarch64 and qemu-aarch64.
  • make check now owns only what it uniquely needs — elfuse-internal plumbing and sanitizer coverage — while test-matrix.sh is the sole, comprehensive cross-kernel gate.
  • Update docs/testing.md to describe the new split and adjust the recommended dev workflow (make check alone no longer substitutes for make test-matrix-elfuse-aarch64).
  • The 24 skipped test for qemu-aarch64 needs to fix later

Test

make check: 69/0, all stages green (busybox, sysroot, FUSE, Rosetta CLI gating, hot-syscall guardrail)
driver.sh -l -s '<SANITIZER_SECTIONS>' still matches the same 48 sanitizer-relevant tests
bash tests/test-matrix.sh elfuse-aarch64: 234 passed, 0 failed, 4 skipped
bash tests/test-matrix.sh qemu-aarch64: 214 passed, 0 failed, 24 skipped


Summary by cubic

Narrowed make check to elfuse-internal and sanitizer-only tests, and moved all portable tests into the matrix runner to remove duplicate gates while keeping coverage the same. The matrix is now the single, comprehensive cross-kernel gate.

  • Refactors

    • Trimmed tests/manifest.txt from 118 to 69 tests: keep EL1 shim fast-path, test-mremap-infra, test-oom-proc, plus sanitizer-selected tests.
    • Merged matrix runners into one run_unit_tests that exercises the full portable suite against elfuse-aarch64 and qemu-aarch64.
    • Documented qemu-only divergences via QEMU_SKIP, updated expected baselines, and refreshed docs/testing.md to reflect the new split.
  • Migration

    • For syscall/runtime changes: run make elfuse && make check && make test-matrix-elfuse-aarch64.
    • To cross-check with a real kernel: run make test-matrix-qemu-aarch64 or make test-matrix.

Written for commit 4cab69b. Summary will update on new commits.

Review in cubic

tests/manifest.txt duplicated most of test-matrix.sh's coverage: every
portable syscall test ran through both make check (elfuse only) and
the matrix (elfuse + qemu reference kernel), so additions and
failures had to be tracked in two places.

Trim manifest.txt to what make check actually needs on its own: tests
that assert elfuse-internal behavior with no real-kernel equivalent
(the EL1 shim fast-path suite, test-mremap-infra, test-oom-proc),
plus whatever mk/tests.mk's SANITIZER_SECTIONS pulls in for
check-{asan,ubsan,tsan} -- those need a sanitizer-instrumented elfuse
binary that only driver.sh can point at, which qemu-aarch64's
uninstrumented real kernel can't substitute for.

Everything else now lives exclusively in test-matrix.sh's
run_unit_tests, which folds in what used to be a separate
run_extended_unit_tests. There is no more core/extended split, just
one list that runs against both elfuse and the qemu reference kernel.

make check: 69 tests (down from 118), still green. test-matrix:
234/0/4 (elfuse-aarch64), 214/0/24 (qemu-aarch64), unchanged from
before the split.
@jserv

jserv commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Consolidate the test suite by removing duplicate tests and ensuring comprehensive coverage before transitioning to LTP.

@jserv jserv requested a review from henrybear327 July 9, 2026 09:07
cubic-dev-ai[bot]

This comment was marked as resolved.

@Max042004 Max042004 changed the title Narrow make check to elfuse-internal tests Improve test-matrix coverage Jul 9, 2026
@jserv jserv merged commit 587f198 into sysprog21:main Jul 9, 2026
10 checks passed
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