Commit Graph
1084 Commits
Author SHA1 Message Date
Frantisek Sumsal fab73dad84 test: reorder the machinectl signal tests
So the multiple-machines tests run last to avoid a race where the
checked signal would get ignored while the stub init is still processing
the previous signals:

[   17.380417] testsuite-13.sh[376]: + machinectl reboot long-running long-running long-running
[   17.389888] systemd-nspawn[495]: ++ touch /reboot
[   17.390904] testsuite-13.sh[376]: + rm -f /var/lib/machines/long-running/trap
[   17.393937] testsuite-13.sh[376]: + machinectl kill --signal=SIGTRAP --kill-whom=leader long-running
[   17.408905] testsuite-13.sh[376]: + timeout 10 bash -c 'while ! test -e /var/lib/machines/long-running/trap; do sleep .5; done'
[   27.413210] testsuite-13.sh[376]: + at_exit
...
[   27.993376] testsuite-13.sh[373]: + echo 'Subtest /usr/lib/systemd/tests/testdata/units/testsuite-13.machinectl.sh failed'
2023-07-10 15:26:32 +01:00
Dan Streetman 9071d6b1a3 test: Add DA lockout handling to TEST-70-TPM2
Since this test intentionally provides an incorrect PIN, the DA lockout counter
is incremented; the test needs to reset it so there is no DA lockout.
2023-07-08 01:13:29 +01:00
Luca Boccassi 544fc54d72 test: add +x to generator-utils.sh
It is marked and named as a script, so add +x otherwise Lintian complains:

 W: systemd-tests: script-not-executable [usr/lib/systemd/tests/testdata/units/generator-utils.sh]
2023-07-07 11:51:11 +01:00
Yu Watanabe 14be337d04 Merge pull request #28233 from mrc0mmand/append-to-corrupted-journals
test: append to corrupted journals
2023-07-07 11:51:02 +09:00
Frantisek Sumsal 29bdeb5cb3 test: append to corrupted journals
Introduce a manual test tool that creates a journal, corrupts it by
flipping bits at given offsets, and then attempts to write to the journal.
In ideal case we should handle this gracefully without any crash or
memory corruption.
2023-07-06 22:41:27 +02:00
Luca Boccassi b2deaaf01b Merge pull request #27584 from rphibel/add-restartquick-option
service: add new RestartMode option
2023-07-06 20:37:31 +01:00
Richard Phibel e568fea9fc service: add new RestartMode option
When this option is set to direct, the service restarts without entering a failed
state. Dependent units are not notified of transitory failure.

This is useful for the following use case:

We have a target with Requires=my-service, After=my-service.
my-service.service is a oneshot service and has Restart=on-failure in
its definition.

my-service.service can get stuck for various reasons and time out, in
which case it is restarted. Currently, when it fails the first time, the
target fails, even though my-service is restarted.

The behavior we're looking for is that until my-service is not restarted
anymore, the target stays pending waiting for my-service.service to
start successfully or fail without being restarted anymore.
2023-07-06 14:33:52 +02:00
Daan De Meyer 12d58b6c74 dissect: Add --mtree-hash= option
Let's make including hashes in the mtree output configurable to allow
speeding up the --mtree command in cases where file hashes are not
required.
2023-07-06 12:11:45 +02:00
Daan De Meyer 2292fa1e31 dissect: Allow a few verbs to operate on directories as well as image files
--copy-to, --copy-from, --list and --mtree are useful for image directories
as well as image files, so for those verbs, let's check if we were passed
a directory and skip all the image file setup if that's the case.
2023-07-06 12:11:42 +02:00
Mike Yuan bf3dfa6202 TEST-03-JOBS: test indirect PropagatesStopTo= 2023-07-06 05:12:04 +08:00
Luca Boccassi 79be4b7da8 Merge pull request #28255 from yuwata/sd-device-fix-clone
sd-device: fix device_clone_with_db()
2023-07-05 21:38:52 +01:00
Yu Watanabe beebaeeb3f test: change partition label to test if the outdated devlinks are removed
The change is intended to reproduce the issue #27983, though the
original issue is highly racy, and the test does not reproduce it
reliably. But, anyway, it is better to change the partition label to
test the devlink removal.
2023-07-05 23:46:01 +09:00
Lennart Poettering 529ba8a1a3 Merge pull request #26844 from YHNdnzj/propagate-stop-fixup
core: introduce UNIT_ATOM_PROPAGATE_STOP_GRACEFUL for PropagatesStopTo=
2023-07-05 15:56:21 +02:00
Luca Boccassi 11d797d3b9 Merge pull request #28207 from poettering/initrd-creds
various credential improvements (including initrd creds, creds in generators, fstab + getty creds)
2023-07-05 10:29:33 +01:00
Yu Watanabe 051c0f8926 Merge pull request #28228 from yuwata/repart-free-area
repart: fix free area calculation
2023-07-05 16:36:16 +09:00
Yu Watanabe 937625c7c7 test: update test for free area calculation in repart 2023-07-05 10:40:56 +09:00
Yu Watanabe beba8f2e1e test: add reproducer for issue #28225 2023-07-05 10:40:53 +09:00
Mike Yuan 5db456d065 test: add test cases for issue #26839 in TEST-03-JOBS 2023-07-05 08:15:35 +08:00
Lennart Poettering de70ecb328 import-creds: add support for binary credentials specified on the kernel cmdline 2023-07-04 23:19:48 +02:00
Lennart Poettering 53888c3393 test: verify that the getty generator with creds works 2023-07-04 23:14:21 +02:00
Lennart Poettering 51235f2fe6 test: add simple fstab credential test 2023-07-04 23:09:39 +02:00
Lennart Poettering 4a262d5677 test: add test for initrd credentials
This extends the test framework a bit, and allows adding additional
initrds to the qemu invocation, which we use here to place credentials
in the new /run/systemd/@initrd/ credentials dir which are then passed
to the host.
2023-07-04 23:05:23 +02:00
Frantisek Sumsal 6bbfa9c214 test: measure subtest runtime 2023-07-04 21:55:53 +02:00
Lennart Poettering c86a95082b systemctl: implement a new "whoami" verb, that just returns unit of caller/PID 2023-07-04 01:05:02 +01:00
Frantisek Sumsal f2492d39ba test: wait for the interface to become routable after reconfiguring
Since 6e8477edd3 TEST-75 started failing with:

[  571.468298] testsuite-75.sh[46]: + for addr in "${DNS_ADDRESSES[@]}"
[  571.468298] testsuite-75.sh[46]: + run delv @fd00:dead:beef:cafe::1 -t A mail.signed.test
[  571.468899] testsuite-75.sh[562]: + tee /tmp/tmp.qKlHPbCCJZ
[  571.469317] testsuite-75.sh[561]: + delv @fd00:dead:beef:cafe::1 -t A mail.signed.test
[  571.501381] testsuite-75.sh[562]: ;; network unreachable resolving 'mail.signed.test/A/IN': fd00:dead:beef:cafe::1#53
[  571.501564] testsuite-75.sh[562]: ;; resolution failed: SERVFAIL
[  571.515457] testsuite-75.sh[46]: + grep -qF '; fully validated' /tmp/tmp.qKlHPbCCJZ

Let's wait for the dns0 interface to become routable again after
re-enabling IPv6 to, hopefully, mitigate this.
2023-07-04 08:10:11 +09:00
Lennart Poettering f4b24db7c3 test: add test case for recent OnSuccess=/OnFailure= state machine changes 2023-07-03 17:31:25 +02:00
Frantisek Sumsal 69eeb6f15e test: use correct path for systemd-battery-check
Follow-up to #28185.
2023-06-29 13:06:42 +01:00
Yu Watanabe be994c2640 battery-check: several follow-ups
Follow-ups for e3d4148d50.

- add reference to initrd-battery-check.service in man page, and move
  its section from 1 to 8,
- add link to man page in help message,
- introduce ERRNO_IS_NO_PLYMOUTH(),
- propagate error in battery_check_send_plymouth_message(),
- rename battery_check_send_plymouth_message() -> plymouth_send_message(),
- return earlier when the first battery level check passed to reduce
  indentation,
- fix potential use of invalid fd on battery restored,
- do not use emoji for /dev/console,
- add simple test (mostly for coverity),

etc, etc...
2023-06-29 15:41:00 +09:00
Lennart Poettering 580a007bb6 test: add test for new XDG_STATE_HOME handling 2023-06-28 22:09:19 +02:00
Luca Boccassi 1c53c3bab1 Merge pull request #28178 from mrc0mmand/nss-tests
test: add a couple of tests for nss-myhostname & nss-mymachines
2023-06-28 19:41:11 +01:00
Frantisek Sumsal 0f90d4f0c3 test: add a couple of tests for nss-mymachines 2023-06-28 17:04:31 +02:00
Lennart Poettering f70c90f5ca analyze: add new "pcrs" verb
It shows the PCRs we know about along with their name strings and
current values.
2023-06-28 16:50:50 +02:00
Frantisek Sumsal 1a36d2672f test: add a couple of tests for nss-myhostname 2023-06-28 11:07:46 +02:00
Luca Boccassi 8da88af877 Merge pull request #28064 from bluca/test_oomd_swap
TEST-55-OOMD: use 'stress' to create high pressure, ensure swap is set up correctly on Ubuntu CI
2023-06-26 19:39:07 +01:00
Frantisek Sumsal 7f5f781cf4 test: fix test service unit description 2023-06-26 15:54:01 +02:00
Luca Boccassi 72a28bf8ef Merge pull request #28149 from mrc0mmand/test-machinectl-bump-container-size
test: bump the test container size to 64 MiB
2023-06-25 12:01:30 +01:00
Frantisek Sumsal 256c1ac9a8 test: bump the test container size to 64 MiB
As 32 MiB appears to be on the edge of barely enough on C8S:

[  149.974689] testsuite-13.sh[601]: + dd if=/dev/zero of=/tmp/container.raw bs=1M count=32
[  150.388423] testsuite-13.sh[1096]: 32+0 records in
[  150.390721] testsuite-13.sh[1096]: 32+0 records out
[  150.392450] testsuite-13.sh[1096]: 33554432 bytes (34 MB, 32 MiB) copied, 0.354336 s, 94.7 MB/s
[  150.396422] testsuite-13.sh[601]: + mkfs.ext4 /tmp/container.raw
[  150.472209] testsuite-13.sh[1097]: mke2fs 1.45.6 (20-Mar-2020)
[  150.561303] testsuite-13.sh[1097]: Discarding device blocks: done
[  150.565438] testsuite-13.sh[1097]: Creating filesystem with 32768 1k blocks and 8192 inodes
[  150.568301] testsuite-13.sh[1097]: Filesystem UUID: d8e3c43b-0f1f-4e89-8c26-100e4a32b64f
[  150.569777] testsuite-13.sh[1097]: Superblock backups stored on blocks:
[  150.571135] testsuite-13.sh[1097]:   8193, 24577
[  150.572751] testsuite-13.sh[1097]: Allocating group tables: done
[  150.574294] testsuite-13.sh[1097]: Writing inode tables: done
[  150.598696] testsuite-13.sh[1097]: Creating journal (4096 blocks): done
[  150.604285] testsuite-13.sh[1097]: Writing superblocks and filesystem accounting information: done
[  150.612309] testsuite-13.sh[601]: + mount -o loop /tmp/container.raw /tmp/mnt
[  150.879736] testsuite-13.sh[601]: + cp -r /var/lib/machines/container1/bin ... /tmp/mnt
[  152.347545] testsuite-13.sh[1104]: cp: cannot create directory '/tmp/mnt/var/log': No space left on device
[  152.351739] testsuite-13.sh[1104]: cp: cannot create directory '/tmp/mnt/var/tmp': No space left on device
2023-06-24 20:51:27 +02:00
Frantisek Sumsal 4c88752ae5 test: show the subtest name together with the failing code
To make debugging slightly easier.
2023-06-24 20:44:33 +02:00
Luca Boccassi f434f182cc TEST-55-OOMD: use swap file instead of partition
The partition seems not to work on Ubuntu for some reason, use a
swap file instead
2023-06-24 11:48:51 +01:00
Luca Boccassi 937e82cb7d TEST-55-OOMD: use 'stress' to create high pressure
The test fails on my machine, running Debian stable, because
testsuite-55-testbloat.service just swaps and never goes over the
limit, so it's not killed. Use 'stress' instead which seems to be
able to overwhelm the swap too.
2023-06-24 11:48:51 +01:00
Frantisek Sumsal 7eb9a4623d test: drop timeout when running portablectl
The deadlock should be resolved by #28123, so let's check if it's indeed
the case.
2023-06-24 10:35:12 +02:00
Frantisek Sumsal f6b916d387 test: test the /boot endpoint under nspawn as well
Since #28144 should be now resolved by fb0e106.
2023-06-24 10:33:14 +02:00
Lennart Poettering 9e35e9779d Merge pull request #28144 from poettering/procfs-submounts-move
pid1: when setting up a new procfs instance for a service, mount submounts from host into it
2023-06-23 22:53:25 +02:00
Lennart Poettering 5ca8d2474c test: ensure ProtectProc=invisible retains host submounts 2023-06-23 18:32:40 +02:00
Frantisek Sumsal 0651e71749 test: test transactions with cycles
Provides coverage for systemd/systemd#26872.

With systemd/systemd#26875 reverted:

[16444.287652] testsuite-03.sh[71]: + for i in {0..19}
[16444.287652] testsuite-03.sh[71]: + systemctl start transaction-cycle0.service
[16444.359503] systemd[1]: =================================================================
[16444.360321] systemd[1]: ==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6180002e578e at pc 0x7f73b25ec7a6 bp 0x7ffc5531c6f0 sp 0x7ffc5531be68
[16444.360798] systemd[1]:
[16444.361044] systemd[1]: READ of size 783 at 0x6180002e578e thread T0 (systemd)
[16444.391684] systemd[1]:     #0 0x7f73b25ec7a5  (/lib64/libasan.so.5+0x557a5)
[16444.392167] systemd[1]:     #1 0x7f73b260a1d5 in __interceptor_vasprintf (/lib64/libasan.so.5+0x731d5)
[16444.392442] systemd[1]:     #2 0x7f73afa1d1e1 in log_format_iovec ../src/basic/log.c:996
[16444.392750] systemd[1]:     #3 0x7f73afa1e7b6 in log_struct_internal ../src/basic/log.c:1058
[16444.393101] systemd[1]:     #4 0x7f73b1979136 in transaction_verify_order_one ../src/core/transaction.c:392
[16444.393540] systemd[1]:     #5 0x7f73b197ac82 in transaction_verify_order_one ../src/core/transaction.c:463
[16444.393946] systemd[1]:     #6 0x7f73b197ac82 in transaction_verify_order_one ../src/core/transaction.c:463
[16444.394262] systemd[1]:     #7 0x7f73b197ac82 in transaction_verify_order_one ../src/core/transaction.c:463
[16444.394532] systemd[1]:     #8 0x7f73b197ac82 in transaction_verify_order_one ../src/core/transaction.c:463
[16444.394812] systemd[1]:     #9 0x7f73b197ac82 in transaction_verify_order_one ../src/core/transaction.c:463
...
2023-06-23 14:37:07 +02:00
Luca Boccassi 0b1e55a616 Merge pull request #28109 from mrc0mmand/more-journal-shenanigans
test: cover a couple of missed code paths in journalctl/journald
2023-06-22 00:46:06 +01:00
Daan De Meyer 33885343cf Merge pull request #27942 from DaanDeMeyer/root-ephemeral
core: Add RootEphemeral= setting
2023-06-21 17:24:39 +02:00
Frantisek Sumsal 51a05be9a2 test: cover a couple of missed code paths in journalctl/journald 2023-06-21 17:08:55 +02:00
Daan De Meyer cdad1f1407 test: Add RootEphemeral= integration test 2023-06-21 12:48:48 +02:00
Luca Boccassi 01a6510a62 Merge pull request #28082 from mrc0mmand/more-journal-remote-tests
test: add a couple of tests for systemd-journal-{remote,upload}
2023-06-20 23:38:24 +01:00