Skip to content

rk selftests, and kselftest units in rk test - #35

Merged
tamnd merged 1 commit into
mainfrom
kselftest
Oct 1, 2026
Merged

tamnd merged 1 commit into
mainfrom
kselftest

Conversation

@tamnd

@tamnd tamnd commented Oct 1, 2026

Copy link
Copy Markdown
Owner

rk selftests builds the kernel's own selftests against a finished build, with the build's compiler or another, and installs them under <build>/selftests/kselftest. Each collection is made on its own with make -k, and the install uses make -i, because one program that needs a missing library otherwise drops the whole collection. What actually got installed is read back from kselftest-list.txt and written to selftests.json, since the make exit status says little.

rk test gains a kselftest kind. Each collection the row lists in rows.toml boots on its own, with run_kselftest.sh, the collection, and the shared libraries its programs need (found through PT_INTERP and DT_NEEDED) packed into the initramfs. Results become units named kselftest:<collection>:<program> and are graded like KUnit, reference against rucc. --rucc-selftests runs the rucc-built selftests on the rucc kernel when given, and the reference build otherwise. rk mixed takes --selftests so a failing selftest unit can be bisected too.

The nightly installs libcap-dev and libnuma-dev, builds the selftests with gcc-14 and with rucc, and runs the kselftest kind along with boot, smoke and KUnit.

Part of #6

@tamnd tamnd added kind/feature New capability in the harness area/rk The rk command line area/boot QEMU rig, initramfs and rk-init row/x64 x86-64 priority/p2 Should land in the current milestone labels Oct 1, 2026
@tamnd
tamnd merged commit 9e55396 into main Oct 1, 2026
11 of 20 checks passed
@tamnd
tamnd deleted the kselftest branch October 1, 2026 10:56
@tamnd tamnd mentioned this pull request Oct 1, 2026
8 of 17 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/boot QEMU rig, initramfs and rk-init area/rk The rk command line kind/feature New capability in the harness priority/p2 Should land in the current milestone row/x64 x86-64

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant