Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

run the kernel tests in CI #112

Merged
merged 9 commits into from
Dec 30, 2024
Merged

run the kernel tests in CI #112

merged 9 commits into from
Dec 30, 2024

Conversation

garlick
Copy link
Member

@garlick garlick commented Dec 29, 2024

Get the tests in tests/kern running clean in CI so we'll have a baseline for future proposed changes.

There are some unresolved issues that need investigation (marked XFAIL for now):

And this PR removes two XFAILS that were added by #108

  • tests/kern/t47 (security xattr test)
  • tests/kern/t32 (dbench test)

Problem: the tests in tests/kern hang on systemd managed systems

Systemd sets the root file system propagation to shared, so the
private mounts created by the "kconjoin" test utilty are not
really private, and exiting the process that created them does
not cause an implicit unmount and diod does not exit.

Follow the lead of the unshare(1) command, which as of util-linux-2.27,
now sets / propgation recursively to private after unsharing it.

Fixes chaos#61
Problem: tests/kern/t32 (dbench) was marked XFAIL to get
a clean test run on Yocto (kernel 6.6.45), but it passes
on my deskotp with Ubuntu 22.04's (kernel 6.9.3) and in CI
with Ubuntu 22.04 (kernel 6.5.0)..

Drop the XFAIL to get this running in CI.

Apologies to Ola Nilsson - we will need to track down the source
of the failure on Yocto.
Problem: dbench is vendored in the diod source tree, but it's a lot,
and is available as an ubuntu package.

Drop the dbench source code.
Modify the test script to skip the dbench test if unavailable.
Add the dbench package to github workflow in anticipation of running
the kernel tests later.
Problem: tests/kern/t46 and t47 require that setfattr is installed,
but the test runner doesn't check.

Skip the test if setfattr is unavailable.
Add the attr package to the CI runner in anticipation of running the
kernel tests in CI.
Problem: tests/kern/t47 (security xattr) was marked XFAIL to get
a clean test run on Yocto (kernel 6.6.45), but it passes on my
desktop running Ubuntu 22.04 (kernel 6.9.3) and in CI with Ubuntu
22.04 (kernel 6.5.0).

Drop the XFAIL for now to get this running in CI.
Problem: tests/kern/t34 initializes subversion repo in a 9P file system
but subversion is no longer widely available or interesting.

Drop the test.
Problem: tests/kern/t40 is skipped if scrub(1) is not installed.

Add it to the github workflow.
Problem: tests/kern/t41 fails in CI

This test fails if any dmesg output is produced while it runs - obviously
racy and inappropriate in cloud hosted CI testing.

Since the bug it is looking for is ancient, keep the test for its
possibly interesting file system workload, but drop the console check.
Problem: kernel tests are not currently run on each pull request.

Add them to CI.
Copy link
Member

@grondo grondo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@garlick
Copy link
Member Author

garlick commented Dec 30, 2024

Thanks!

@mergify mergify bot merged commit 2e661af into chaos:master Dec 30, 2024
5 checks passed
@garlick garlick deleted the testsuite_fix branch December 30, 2024 02:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants