Commit Graph
1616 Commits
Author SHA1 Message Date
Daan De Meyer 6be4dab095 systemctl: Implement --wait for kill command
TEST-26-SYSTEMCTL is racy as we call systemctl is-active immediately
after systemctl kill. Let's implement --wait for systemctl kill and
use it in TEST-26-SYSTEMCTL to avoid the race.
2024-05-01 09:40:32 +02:00
Daan De Meyer b8afa59583 test: Drop /usr overlay workaround
/usr is not erofs anymore in the mkosi images so let's drop the
workaround where we mount a writable tmpfs on top of /usr.
2024-04-30 22:10:05 +02:00
Daan De Meyer db07533f74 Revert "TEST-25-IMPORT: Skip if importctl not installed"
This reverts commit dcb17e3295.

importctl is now correctly installed on opensuse, so no need for
this workaround anymore.
2024-04-30 22:10:05 +02:00
Daan De Meyer 27246d2bb6 TEST-71-HOSTNAME: Ignore error from reset-failed
On OpenSUSE the systemd-hostnamed does not fail and is unloaded which
causes reset-failed to fail. So let's ignore any errors from reset-failed
to make the test more robust.
2024-04-30 22:10:05 +02:00
Daan De Meyer b676bbbfc6 TEST-46-HOMED: Check for sshd pam snippet in /usr/lib/pam.d as well
opensuse ships pam snippets in /usr/lib/pam.d.
2024-04-30 22:10:05 +02:00
Daan De Meyer e290b45dfa TEST-82-SOFTREBOOT: Exit with exit status 123
Required to make mkosi consider the test successful.
2024-04-30 22:10:05 +02:00
Daan De Meyer e1f17dc641 TEST-35-LOGIN: Exclude manager entry in testcase_sanity_check()
Otherwise we try to kill the wrong session.
2024-04-30 22:10:05 +02:00
Daan De Meyer b03c2d51b2 TEST-18-FAILUREACTION: Exit with 123 on success
mkosi expects the virtual machine/container to exit with exit status
123 on success so let's make sure that's the case.
2024-04-30 22:10:05 +02:00
Daan De Meyer 8c89620e80 TEST-09-REBOOT: Make journalctl grep pattern more specific
We might be rotating because we reached limits, which is perfectly
fine, so don't fail if that happens.
2024-04-30 22:10:05 +02:00
Daan De Meyer 409c8a8ee0 TEST-13-NSPAWN: Skip on virtiofs
The rootfs only has 64K UIDs available when booting with virtiofs,
whereas the nspawn tests want to use user namespace which require
more than 64K UIDs.
2024-04-30 22:10:05 +02:00
Richard Maw 3630f5aaf8 TEST-13-NSPAWN: move disk images to /var/tmp
/tmp may not be large enough to contain disk images
and will result in strange errors when it runs out of space.
2024-04-30 22:10:02 +02:00
Richard Maw 047d5b6a32 TEST-13-NSPAWN: move container template to /usr/share
Having directories in / causes problems for make-root-on-boot images
2024-04-30 18:17:13 +02:00
Daan De Meyer b81ece59c4 TEST-04-JOURNAL: Make LogFilterPatterns= tests more robust
Let's use oneshot services as we don't need long running services
for the tests we're doing. Let's also increase the sleeps a little
as the current values weren't sufficient when running the test locally
on my machine with mkosi.
2024-04-30 18:17:13 +02:00
Daan De Meyer 191a31fbcf TEST-83-BTRFS: Skip if root filesystem is not btrfs 2024-04-30 18:17:13 +02:00
Richard Maw 37029ce769 TEST-35-LOGIN: Handle multiple lock messages per sleep
If 3 lock messages get sent when going to sleep
then we can falsely assume we have woken up if we only assume we have at least two
so checking we have more than we did before sleeping addresses that issue.
2024-04-30 18:17:13 +02:00
Daan De Meyer 1ce32f2f5f TEST-81-GENERATORS: Use SYSTEMD_PROC_CMDLINE more
Makes the test more robust as the command line the image is booted
won't influence the test result.
2024-04-30 10:45:35 +02:00
Daan De Meyer 4c36bbdfd7 Merge pull request #32439 from CodethinkLabs/simple-mkosi-integration-tests
Enable some simple mkosi integration tests
2024-04-26 20:48:00 +02:00
Richard Maw 337d246faf TEST-81-GENERATORS: Clean /proc/cmdline of unusual mounts 2024-04-26 17:25:55 +01:00
Richard Maw 90eee2cf0f TEST-36-NUMAPOLICY: Bump PID1 strace time to 3 seconds
CI can be slow and only waiting 1 second makes it flaky there.
2024-04-26 17:25:55 +01:00
Richard Maw 4114b723f9 TEST-26-SYSTEMCTL: Create /etc/init.d if needed
OpenSUSE doesn't disable sysv compat but also may not have anything in
/etc/init.d.
2024-04-26 17:25:55 +01:00
Richard Maw dcb17e3295 TEST-25-IMPORT: Skip if importctl not installed
machinectl import-* was split out into importctl
which is a separately configurable component to machinectl
and might not always be available.
2024-04-26 17:25:34 +01:00
Richard Maw 60d064d3fd TEST-19-CGROUP: Skip on opensuse
OpenSUSE images seem to be unhappy with either how they are built
or what they are being asked to do.

The listed device-mapper failure is just one of the strange errors,
I have also seen it fail to propagate cgroup properties into new cgroups
that were previously guaranteed to exist.
2024-04-26 17:23:53 +01:00
Richard Maw 8ccba68cb5 TEST-17-UDEV: Skip credentials test if service not loaded
It does not appear to exist on OpenSUSE yet.
2024-04-26 17:22:10 +01:00
Frantisek Sumsal 516652bbfd test: mountnfsd -> mountfsd
I keep accidentally writing mountnfsd instead of mountfsd, and a couple
of instances managed to get into the repo.
2024-04-26 17:14:07 +02:00
Daan De Meyer dcbf0be1b7 TEST-50-DISSECT: Don't log image contents to console
These can contain quite a few files, so let's not write every single
file and directory straight to the console to speed things up.
2024-04-26 13:51:49 +02:00
Daan De Meyer 536b5c0748 Merge pull request #32445 from DaanDeMeyer/mkosi-images
mkosi: Build minimal images and enable related integration tests
2024-04-25 21:59:23 +02:00
c77dad706b mkosi: Build minimal images and enable related integration tests
This commit adds definitions to build the minimal_0 and minimal_1
images with mkosi and includes them into the system image. We also
move the building of the various app-xxx and similar images that are
extremely minimal into the tests itself by moving the related logic
from install_verity_minimal() into a new function
install_extension_images() in util.sh. Because the mkosi /usr is
read-only, we now place the extension images in /tmp instead of
/usr/share.

Co-authored-by: Richard Maw <richard.maw@codethink.co.uk>
Co-authored-by: sam-leonard-ct <sam.leonard@codethink.co.uk>
2024-04-25 21:06:30 +02:00
Daan De Meyer 69dc36f69b TEST-50-DISSECT: Make sure logging sockets are mounted into images
Otherwise we lose valuable logging from systemd-executor when things
go wrong since it can only log to the journal and not to the console
in these cases.
2024-04-25 19:39:31 +02:00
Luca Boccassi d1c4174d69 Merge pull request #32475 from bluca/skip
test: skip testsuite-50.mountnfsd if kernel/polkit are too old
2024-04-25 18:48:57 +02:00
Luca Boccassi f9419fe610 test: skip testsuite-50.mountnfsd if kernel/polkit are too old
Need full support of pidfd to work, so skip the test if it's not
available
2024-04-25 13:32:35 +01:00
Luca Boccassi c790537b89 test: use sd-analyze for kernel version check in TEST-62 2024-04-25 13:32:10 +01:00
Lennart Poettering 3c1d1ca146 manager: switch service unit type over to using new handoff timestamping logic
Also: rename Handover → Handoff. I think it makes it clearer that this
is not really about handing over any resources, but that the executor is
out off the game from that point on.
2024-04-25 13:40:41 +02:00
Daan De Meyer 5ae6ff1258 TEST-50-DISSECT: Skip mutable sysext tests on virtiofs
virtiofs cannot be used as the upper fs for overlayfs, so skip all
the sysext mutable tests that would try to use virtiofs as the
upper fs.
2024-04-24 19:30:00 +02:00
Daan De Meyer c709499a4e TEST-50-DISSECT: Use --apparent-size when calling du
Otherwise if the file is full of holes we get the wrong size and
we'll fail later on.
2024-04-24 15:51:37 +02:00
Daan De Meyer 2a9184b902 TEST-50-DISSECT: Skip mountfsd test if the user namespace interface is not supported 2024-04-24 15:51:35 +02:00
Richard Maw 796cf1b483 test: document when writable /usr overlays may be needed 2024-04-24 11:01:45 +02:00
Daan De Meyer 741d59b326 test: Rework TEST-02-UNITTESTS
Currently, A large amount of unit test output is logged directly
to the console instead of to the per test log file as any subprocesses
executed by a test manager will detect that stderr is not connected
to the journal and log directly to /dev/console instead.

To solve this issue, let's make sure all tests are connected directly
to the journal by running them with systemd-run. We also simplify the
entire test script by getting rid of the custom queue and replicating
it with xargs instead. By using bash's function export feature, we can
make our run_test() function available to the bash subprocess spawned
by xargs.

Once a test is finished, we read its logs from the journal and put them
in the appropriate file if needed.
2024-04-22 19:37:13 +02:00
Luca Boccassi edd3d4d7c2 nspawn: ensure single-process container running as --user can access credentials
When starting a container with --user, the new uid will be resolved and switched to
only in the inner child, at the end of the setup, by spawning getent. But the
credentials are set up in the outer child, long before the user is resolvable,
and the directories/files are made only readable by root and read-only, which
means they cannot be changed later and made visible to the user.

When this particular combination is specified, it is obvious the caller wants
the single-process container to be able to use credentials, so make them world
readable only in that specific case.

Fixes https://github.com/systemd/systemd/issues/31794
2024-04-22 15:47:44 +02:00
Luca Boccassi 93cb78aee2 core: add ExecMainHandoverTimestamp property recording time-of-execve
Enable the exec_fd logic for Type=notify* services too, and change it
to send a timestamp instead of a '1' byte. Record the timestamp in a
new ExecMainHandoverTimestamp property so that users can track accurately
when control is handed over from systemd to the service payload, so
that latency and startup performance can be trivially and accurately
tracked and attributed.
2024-04-22 15:16:05 +02:00
Lennart Poettering b7866fa6aa Merge pull request #31987 from flatcar-hub/krnowak/usr-perm-check
sysext: Fix issues with merged hierarchy mode
2024-04-22 11:14:35 +02:00
Luca Boccassi 8257508c58 portable: support vpick
Resolve at attach/detach/inspect time, so that the image is pinned and requires
re-attaching on update, given files are extracted from it so just passing
img.v/ to RootImage= is not enough to get a portable image updated
2024-04-19 13:25:32 +01:00
Krzesimir Nowak d74d69ae53 test: Make the sysext test to run with --root and without
I was bitten several times by testing things only with --root flag, so this
commit prepares the existing test cases to run on / too. This required the test
cases to clean up after themselves, thus I have put each test case in a
separate subshell and used traps to do the cleanups.

I needed to change the hierarchy used by the test extension to /opt, because
unmounting /usr often failed with EBUSY.
2024-04-19 10:24:17 +02:00
Krzesimir Nowak 60c335a4bc test: Do not limit hierarchies 2024-04-19 07:20:52 +02:00
Krzesimir Nowak 140f834333 test: Add sysext test case for checking valid mutable directory mode 2024-04-19 07:18:38 +02:00
Krzesimir Nowak 6aab53b175 test: Add sysext test-cases for checking mode preservation 2024-04-19 07:15:01 +02:00
Lennart Poettering dd37963aff Merge pull request #31790 from poettering/pcrlock-policy-fix
Replace PolicyAuthValue by PolicySigned as access policy for pcrlock policy nvindex
2024-04-18 21:11:27 +02:00
Lennart Poettering 36769db1b0 ci: update tests to showcase new option a bit 2024-04-18 18:12:24 +02:00
Luca Boccassi 966d7977c7 portablectl: add --clean parameter for detaching
Calls CleanUnit on each portable service being removed, after it has
stopped
2024-04-18 10:47:29 +01:00
Yu Watanabe 88382e8dab test: fix typo
Follow-up for 236634c82c.
2024-04-17 13:29:39 +09:00
Yu Watanabe e27f2ad6be Merge pull request #32300 from mrc0mmand/assorted-tweaks
test: split TEST-50-DISSECT into smaller parts
2024-04-17 11:52:30 +09:00