| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
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
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We cannot mark a test suite as excluded by default in meson. Instead,
let's require that SYSTEMD_INTEGRATION_TESTS=1 and skip any integration
test if it's not set. This is effectively the same as excluding it by
default. If the integration-test option is enabled, we'll set the
environment variable by default, just like we do with SYSTEMD_SLOW_TESTS
and the slow-tests meson option.
|
|/
|
|
|
|
| |
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.
|
|\
| |
| | |
mkosi: Build images and run mkosi tests with --debug to aid debugging in CI
|
| | |
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
Otherwise if the file is full of holes we get the wrong size and
we'll fail later on.
|
|/
|
|
| |
supported
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If an assert in systemd fails it can't shut down normally.
By default it freezes. For interactive runs we want the crash shell
to enable further debugging, but during test runs we want it to exit
without having to wait for the test timeout.
By deactivating the crash shell, enabling reboot, and configuring qemu
so that it shuts down instead of rebooting we can shut down instead.
Because by default UEFI will enroll keys and then reboot
we also have to set --qemu-firmware-variables=custom
so it doesn't need to auto-enroll.
Because mkosi has to handle not receiving an EXIT_STATUS notification
it falls back to the exit code of qemu, which in the case of reboot
would be 0, we also override the success exit status to 123
and check that we got that as an exit code from mkosi.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Stop using logging module since the default output formatting is
pretty bad. Prefer print() for now.
- Log less, logging the full mkosi command line is rather verbose,
especially when it contains multi-line dropins.
- Streamline the journalctl command we output for debugging failed
tests.
- Don't force usage of the disk image format.
- Don't force running without unit tests.
- Don't force disabling RuntimeBuildSources.
- Update documentation to streamline the command for running a single
test and remove sudo as it's not required anymore.
- Improve the console output by having the test unit's output logged
to both the journal and the console.
- Disable journal console log forwarding as we have journal forwarding
as a better alternative.
- Delete existing journal file before running test.
- Delete journal files of succeeded tests to reduce disk usage.
- Rename system_mkosi target to just mkosi
- Pass in mkosi source directory explicitly to accomodate arbitrary
build directory locations.
- Add test interactive debugging if stdout is connected to a tty
- Stop explicitly using the 'system' image since it'll likely be
dropped soon.
- Only forward journal if we're not running in debugging mode.
- Stop using testsuite.target and instead just add the necessary
extras to the main testsuite unit via the credential dropin.
- Override type to idle so test output is not interleaved with
status output.
- Don't build mkosi target by default
- Always add the mkosi target if mkosi is found
- Remove dependency of the integration tests on the mkosi target
as otherwise the image is always built, even though we configure
it to not be built by default.
- Move mkosi output, cache and build directory into build/ so that
invocations from meson and regular invocations share the same
directories.
- Various aesthetic cleanups.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
terminal-util: Enable line wrapping in reset_terminal_fd()
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The qemu seabios firmware disables serial console line wrapping. Let's
make sure we re-enable it again when we reset a terminal to some sane
defaults.
To avoid potentially blocking on writing to the terminal, we put it
in nonblocking mode and add a timeout of 50ms.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|\
| |
| | |
sysext: Fix issues with merged hierarchy mode
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| |/
|/| |
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
|
|\ \
| |/
|/|
| |
| | |
yuwata/network-radv-ignore-rs-from-the-same-interface
network/radv: ignore RS message from the same interface
|
| | |
|
| | |
|
| |
| |
| |
| | |
Follow-up for fb573007430ab0dbe45517b58837d2fa5cfa1a48.
|
|\ \
| | |
| | | |
Replace PolicyAuthValue by PolicySigned as access policy for pcrlock policy nvindex
|
| |/ |
|
|\ \
| | |
| | | |
Basic mkosi integration tests
|
| |/
| |
| |
| |
| | |
The first two tests are included to ensure parallel test execution is
demonstrable.
|
|/
|
|
|
| |
Calls CleanUnit on each portable service being removed, after it has
stopped
|
|
|
|
| |
Follow-up for 236634c82c56e280348f9452129f3cdfd1fb7a45.
|
|\
| |
| | |
test: split TEST-50-DISSECT into smaller parts
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Let's rework the test a bit, namely:
- condense the code a bit
- drop unnecessary braces around variables
- drop unnecessary explanations around `touch` calls
- drop/rename functions to make the code more self-explanatory
- simplify cleanup a bit
- create R/O bind mounts directly (supported since util-linux 2.27)
|
| | |
|
| |
| |
| |
| |
| | |
Let's get the line count back up again by splitting some overly long
lines in hopes to make the code slightly more readable.
|
| |
| |
| |
| | |
As the current version has almost 2k lines.
|
| |
| |
| |
| | |
testcase_multipath_basic_failover
|
| |
| |
| |
| | |
testcase_virtio_scsi_identically_named_partitions
|
| | |
|
|\ \
| | |
| | | |
network-generator: also load drop-ins for networkd.conf from credentials
|
| | | |
|
|/ / |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Previously, 'udevadm control' only checked the number of the arguments.
So, if only `--timeout` is specified, it spuriously did nothing and succeeded.
This makes the command request at least one control command.
|