Source: linux Version: 6.6.8-1 Severity: normal Dear linux maintainers,
Recently I added some isolation-machine support to ci.debian.net and one of the first packages I tried to run the test for is src:linux. Unfortunately, the isolation-machine based test (selftests) fails (the reboot that autopgtest schedules just hangs until it times out). I haven't used kexec before in my life, so I'm not totally sure what to expect from $(kexec -l ...) but I *suspect* (after reading the autopkgtest spec [1]) that the call after kexec in selftests is wrong:
""" In some cases your test needs to do the reboot by itself, e. g. through kexec, or a reboot command that is hardcoded in the piece of software that you want to test. To support those, you need to call /tmp/autopkgtest-reboot-prepare my_mark at a point as close as possible to the reboot instead; this will merely save the state but not issue the actual reboot by itself """(so /tmp/autopkgtest-reboot-prepare instead of /tmp/autopkgtest-reboot, and maybe it should be *before* the kexec call) On the other hand, when I run $(uname -a) after a $(manual kexec -l ..) call, it looks like I'm still running the "old" kernel, so I'm not sure if that line does what I would hope it to do either (it's extremely quick too).
When I play a bit and finally can get the test to run for the current kernel (manually passing the right step number in ADT_REBOOT_MARK for the current kernel and an appropriate AUTOPKGTEST_TMP [2]) I also notice that $(make headers_install) ends with:
""" /bin/sh: 1: rsync: not found """ so that's a missing test dependency.After all that, the test (for the rt kernel) runs nice although it seems to hang on (maybe just a very long running test with no output, I waited several minutes, is that timeout referenced in seconds or minutes?):
""" ok 7 selftests: cgroup: test_cpuset # timeout set to 45 # selftests: cgroup: test_zswap """Second time I ran this was for the regular kernel used by autopkgtest-build-qemu and that passed that stage with ease and seemed to run to the end (with failures, but those you can iron out once we get decent logs).
Also, I suspect the total test will timeout (after 2:47) if we test all desired kernel flavors in one test. So instead of squeezing everything in one autopkgtest (stanza) it's probably smarter to generate a stanza per kernel you want to run (because then you're only limited by the overall timeout of 8.5 hours).
Paul[1] https://salsa.debian.org/ci-team/autopkgtest/-/blob/master/doc/README.package-tests.rst
[2] # emacs debian/tests/selftests # to disable kexec and /tmp/autopkgtest-reboot call and to set -x
chmod a+x debian/tests/selftests # export ADT_REBOOT_MARK=step0# export root@host:/tmp/autopkgtest.Y35OYd/build.rih/src# export AUTOPKGTEST_TMP=$(mktemp -d)
# debian/tests/selftests # testing the default installed kernel
OpenPGP_signature.asc
Description: OpenPGP digital signature