Commit Graph
3196 Commits
Author SHA1 Message Date
Yu Watanabe 005fdee2dd Merge pull request #25229 from mrc0mmand/extend-coverage
test: extend the sanity coverage a bit
2022-11-02 08:24:38 +09:00
Yu Watanabe fcd7998880 test-network: wait for bound interface to be processed by udevd
If another bound interface (dummy98) will be removed before that dummy99
is processed by udevd, then removing dummy98 in the next step makes the
target interface (test1) bring down.

Follow-up for 3e2f7c46da.
2022-11-02 08:24:01 +09:00
Frantisek Sumsal d16684fe13 test: add a couple of sanity tests for systemctl 2022-11-01 22:15:24 +01:00
Luca Boccassi 2f23762451 Merge pull request #25192 from yuwata/wait-online-altname
wait-online: support alternative interface names
2022-11-01 18:31:08 +01:00
Frantisek Sumsal c5c258ae0a test: rename TEST-26-SETENV to TEST-26-SYSTEMCTL 2022-11-01 17:53:42 +01:00
Frantisek Sumsal 70e9066bc2 test: add a couple of sanity tests for loginctl 2022-11-01 17:32:17 +01:00
Yu Watanabe d8746f1620 test-network: explicitly prepare default.link
On CentOS CI (Arch), 99-default.link is masked. Let's explicitly provide
the same .link file with a different prefix number.
2022-11-01 22:38:37 +09:00
Yu Watanabe b95d35b5ed test-network: resolve interface name from alternative name 2022-11-01 22:38:37 +09:00
Yu Watanabe d7ff72ec9c test-network: fix use of undeclared variable 2022-11-01 22:38:37 +09:00
Yu Watanabe dee6c26f3e test-network: make link_exists() support alternative names 2022-11-01 22:38:37 +09:00
Yu Watanabe 3e2f7c46da test-network: add a testcase that all bound interfaces removed
Closes #4202.
2022-11-01 10:28:57 +00:00
Luca Boccassi fb4f7271d9 test: add +x to assert.sh
The script has a shebang and .sh extension, so make it executable

W: systemd-tests: script-not-executable [usr/lib/systemd/tests/testdata/units/assert.sh]
2022-10-31 21:18:53 +00:00
Luca Boccassi 0be7f1936c Merge pull request #25143 from yuwata/network-reconfigure-interface-when-renamed
network: reconfigure interface when renamed
2022-10-31 21:14:24 +01:00
Luca Boccassi 034fe54cd5 Merge pull request #24958 from Werkov/meson-generated-directives
Generate dirrectives for fuzzer tests
2022-10-31 21:04:30 +01:00
Luca Boccassi 4b9cfe08ba Merge pull request #25166 from yuwata/network-router-preference
network: adjust route metric based on router preference
2022-10-31 20:59:36 +01:00
Frantisek Sumsal ca46781c5f test: add a couple of sanity tests for journalctl 2022-10-31 12:11:59 +01:00
Yu Watanabe fa4d3fed46 test-network: add testcase for reconfiguring interface 2022-10-31 09:35:05 +09:00
Frantisek Sumsal f9073c24de test-network: suppress a couple of minor pylint complaints 2022-10-30 20:52:24 +01:00
Frantisek Sumsal ef11b841cd test-network: sort standard imports before "third-party" ones 2022-10-30 20:52:20 +01:00
Frantisek Sumsal e43776595c test-network: drop a couple of useless f-strings 2022-10-30 20:43:35 +01:00
Frantisek Sumsal 0677130e81 test-network: use raw strings where appropriate 2022-10-30 20:43:28 +01:00
Frantisek Sumsal b3de9d7bda test-network: re-enable test_macsec
The outstanding kernel panic should be already fixed in recent enough
kernels by [0]. To make the test safe to run anywhere, let's implement
a simple kernel version check and run the test only if we're running
with at least kernel 6.x. The patch might be in some 5.x kernels as
well, but let's be on the safe side and use 6.x as a baseline here
(which is currently the case for Arch and Fedora Rawhide anyway).

[0] https://lore.kernel.org/netdev/7b3fd03e1a46047e5ffe2a389fe74501f0a93206.1656519221.git.sd@queasysnail.net/T/#u
2022-10-30 20:42:11 +01:00
Yu Watanabe 59ab79a73d test: support non-summer time
Follow-up for 759ed0a253.
2022-10-30 08:26:00 +00:00
Yu Watanabe ee3cbfdbbc test-network: rewrite wait-online address family tests
Fixes #25154.
2022-10-28 12:26:52 +02:00
Yu Watanabe bb80f633bf test-network: add testcase for router preference 2022-10-28 15:56:59 +09:00
Yu Watanabe b4f4f1191e test-network: show only IPv4 routes 2022-10-28 11:35:28 +09:00
Zbigniew Jędrzejewski-Szmek bdc84a6fc9 Merge pull request #25120 from bluca/test_machineid
unit tests: do not fail when machine-id is missing
2022-10-26 07:43:48 +02:00
Yu Watanabe 9918dfb98b test: rewrite tests for renaming network interface
- use `udevadm wait` instead of `udevadm info --wait-initialized`,
- use `timeout` command instead of the fixed time sleep,
- add basic tests for #25106,
- add brief comment about #25115.
2022-10-26 01:47:18 +09:00
Luca Boccassi f028957745 udev-test: use passwd instead of machine-id for checks
Much more likely to be present
2022-10-25 16:00:26 +01:00
Luca Boccassi b2d896f059 test/test-systemd-tmpfiles.py: do not fail if machine-id is missing
When building in a chroot there might not be any machine-id
2022-10-25 16:00:26 +01:00
Luca Boccassi 345a809f21 test-execute: do not fail if machine-id is missing
When building in a chroot there might not be any machine-id
2022-10-25 16:00:26 +01:00
Yu Watanabe 72ca42c1b4 test: add tests for setting DNS servers by resolvectl or resolvconf 2022-10-25 01:52:16 +09:00
Luca Boccassi 0bf1d0ff04 Revert "Fix issue with system time set back (#24131)"
This fix unfortunately introduced a much worse regression that
is affecting many users, so let's revert it for now and rework
it in the next release.

This reverts commit 5ded3917a1.

Fixes https://github.com/systemd/systemd/issues/24984
2022-10-20 14:01:09 +01:00
Michal Koutný 7e343b530e meson: Generate fuzzer inputs with directives
The lists of directives for fuzzer tests are maintained manually in the
repo. There is a tools/check-directives.sh script that runs during test
phase and reports stale directive lists.
Let's rework the script into a generator so that these directive files
are created on-the-flight and needn't be updated whenever a unit file
directives change. The scripts is rewritten in Python to get rid of gawk
dependency and each generated file is a separate meson target so that
incremental builds refresh what is just necessary (and parallelize
(negligible)).

Note: test/fuzz/fuzz-unit-file/directives-all.slice is kept since there
is not automated way to generate it (it is not covered by the check
script neither).
2022-10-20 14:43:50 +02:00
Luca Boccassi 40c05a3459 service: do fine-grained validation of CPUSchedulingPriority= at execution time
The precise bounds of the scheduling priority depend on the scheduling policy,
so depending on the order in which the two settings are specified the
validation might pass or fail.
When checking the setting only validate the outer range (valid values in general are 0 to 99),
and let the execution fail later if the priority does not match the
specified policy (1 to 99 for RR/FIFO, 0 for the rest).

Fixes https://github.com/systemd/systemd/issues/20320
2022-10-20 14:29:45 +02:00
Zbigniew Jędrzejewski-Szmek 6f3cec8a0d TEST-15: add daemon-reload in one place
Quoting https://github.com/systemd/systemd/pull/25050#discussion_r998721845:

This part seems to be quite racy, at least in the C8S job:

[ 1767.520856] H testsuite-15.sh[35]: *** test transient slice drop-ins
[ 1767.520856] H testsuite-15.sh[35]: + mkdir -p /etc/systemd/system/slice.d
[ 1767.522480] H testsuite-15.sh[35]: + mkdir -p /etc/systemd/system/a-.slice.d
[ 1767.524992] H testsuite-15.sh[35]: + mkdir -p /etc/systemd/system/a-b-.slice.d
[ 1767.526799] H testsuite-15.sh[35]: + mkdir -p /etc/systemd/system/a-b-c.slice.d
[ 1767.528302] H testsuite-15.sh[35]: + echo -e '[Unit]\nDocumentation=man:drop1'
[ 1767.528434] H testsuite-15.sh[35]: + echo -e '[Unit]\nDocumentation=man:drop2'
[ 1767.528519] H testsuite-15.sh[35]: + echo -e '[Unit]\nDocumentation=man:drop3'
[ 1767.528595] H testsuite-15.sh[35]: + echo -e '[Unit]\nDocumentation=man:drop4'
[ 1767.528676] H testsuite-15.sh[35]: + systemctl cat a-b-c.slice
[ 1767.541321] H systemctl[1042]: No files found for a-b-c.slice.
[ 1767.542854] H systemd[1]: testsuite-15.service: Main process exited, code=exited, status=1/FAILURE
[ 1767.542995] H systemd[1]: testsuite-15.service: Failed with result 'exit-code'.
[ 1767.543360] H systemd[1]: Failed to start testsuite-15.service.
[ 1767.543542] H systemd[1]: testsuite-15.service: Consumed 1.586s CPU time.
[ 1767.543938] H systemd[1]: Reached target testsuite.target.
[ 1767.545737] H systemd[1]: Starting end.service...
2022-10-19 11:48:59 +00:00
Luca Boccassi 50675bb98f Merge pull request #25050 from keszybz/transient-drop-ins-2
TEST-15: add one more variant of the test for drop-ins on transient services
2022-10-18 19:32:36 +02:00
Zbigniew Jędrzejewski-Szmek 40d4835d69 TEST-15: add test that shows slice dropin issue
This should be fixed by single-unit reloads. We already have a TODO
entry for this.
2022-10-18 12:26:53 +02:00
Luca Boccassi af4117037b Merge pull request #25004 from keszybz/transient-drop-ins
Allow drop-ins for transient units
2022-10-18 11:49:29 +02:00
Frantisek Sumsal 3113ae1f2b test: call sync() before checking the test logs
Otherwise we might hit a race where we read the test log just before
it's fully written to the disk:

```
======================================================================
FAIL: test_interleaved (__main__.ExecutionResumeTest.test_interleaved)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/systemd/test/test-exec-deserialization.py", line 170, in test_interleaved
    self.check_output(expected_output)
  File "/root/systemd/test/test-exec-deserialization.py", line 111, in check_output
    self.assertEqual(output, expected_output)
AssertionError: 'foo\n' != 'foo\nbar\n'
  foo
+ bar
```

With some debug:
```
test_interleaved (__main__.ExecutionResumeTest.test_interleaved) ...
Assertion failed; file contents just after the assertion:
b'foo\n'

File contents 5 seconds later:
b'foo\nbar\n'
FAIL
```

Seen quite often in CentOS CI on the fast baremetal machines.
2022-10-17 20:24:24 +00:00
Luca Boccassi 61938b3c8d Merge pull request #25039 from mrc0mmand/test-tewaks
A couple of minor tweaks for recent CI fails
2022-10-17 21:52:00 +02:00
Zbigniew Jędrzejewski-Szmek 725a28fe77 Merge pull request #24992 from yuwata/sd-device-monitor-receive-buffer
sd-device-monitor: dynamically allocate receive buffer
2022-10-17 20:49:18 +02:00
Luca Boccassi 7a329f2bac Merge pull request #25036 from keszybz/plurals
Remove usage of "noun(s)" in messages and docs
2022-10-17 17:12:16 +02:00
Zbigniew Jędrzejewski-Szmek 0923b4253c tree-wide: replace "plural(s)" by "plurals"
(s) is just ugly with a vibe of DOS. In most cases just using the normal plural
form is more natural and gramatically correct.

There are some log_debug() statements left, and texts in foreign licenses or
headers. Those are not touched on purpose.
2022-10-17 15:10:53 +02:00
Frantisek Sumsal c0c03d9ce1 test: use SIGKILL to kill the container if necessary
TEST-69 uses a Python wrapper around the systemd-nspawn call, which on
error calls the `spawn.terminate()` method. However, with no arguments
it will only use SIGHUP and SIGINT signals - this might leave a stuck
container around, causing fails if the test is run again. With `force=True`
SIGKILL is used as well (if necessary).
2022-10-17 15:00:12 +02:00
Yu Watanabe 69363f13b5 test: add test for large uevent message 2022-10-17 21:52:35 +09:00
Frantisek Sumsal e6bd46a62c test: drop one layer of escaping 2022-10-17 14:38:00 +02:00
Frantisek Sumsal 6f255fe191 test: ignore gcov errors in TEST-34
TEST-34 complains in `test_check_writable` when running with gcov, as
the build directory tree is not writable with DynamicUser=true. As I had
no luck with $GCOV_PREFIX and other runtime gcov configuration, let's
just ignore the gcov errors for this test.
2022-10-17 14:31:25 +02:00
Quentin Deslandes 961549ab41 tests: add nspawn's rootidmap integration test
Add integration test to testsuite-13.sh to ensure rootidmap option map
user IDs as expected.
2022-10-17 12:01:50 +02:00
Zbigniew Jędrzejewski-Szmek c3fa408dcc TEST-15: add one more test for drop-in precedence 2022-10-16 21:52:43 +02:00