1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-03-14 16:58:22 +03:00

1186 Commits

Author SHA1 Message Date
Frantisek Sumsal
d021d69a77 test: wait a bit after starting the test service
otherwise we might end up being faster than the unit itself, causing
unexpected fails, like:

```
testsuite.sh[297]: + systemctl start issue_14566_test
testsuite.sh[297]: + systemctl status issue_14566_test
testsuite.sh[304]: ● issue_14566_test.service - Issue 14566 Repro
testsuite.sh[304]:      Loaded: loaded (/etc/systemd/system/issue_14566_test.service; static; vendor preset: enabled)
testsuite.sh[304]:      Active: active (running) since Sat 2020-03-14 02:02:23 UTC; 417ms ago
testsuite.sh[304]:    Main PID: 301 ((repro.sh))
testsuite.sh[304]:       Tasks: 1 (limit: 535)
testsuite.sh[304]:      Memory: 180.0K
testsuite.sh[304]:         CPU: 122ms
testsuite.sh[304]:      CGroup: /system.slice/issue_14566_test.service
testsuite.sh[304]:              └─301 [(repro.sh)]
testsuite.sh[307]: ++ cat /leakedtestpid
testsuite.sh[307]: cat: /leakedtestpid: No such file or directory
testsuite.sh[297]: + leaked_pid=
```

(cherry picked from commit 197298ff9fc930de450330095cc5b67d165d0801)
(cherry picked from commit e110f4dacb6d56fc9d99456422c2cff7e54ae7f0)
(cherry picked from commit dbe16df9cd50dc6c3662fb90295edebb37c2fdad)
2020-03-26 14:33:55 +01:00
Anita Zhang
e641811c65 core: transition to FINAL_SIGTERM state after ExecStopPost=
Fixes #14566

(cherry picked from commit c1566ef0d22ed786b9ecf4c476e53b8a91e67578)
(cherry picked from commit b7f2308bda4942d1b8e10250db6836fe4fc0d8b8)
(cherry picked from commit 49e7c3b617613306211cc8e28e68d4e5be8fbec4)
2020-03-26 14:32:37 +01:00
Frantisek Sumsal
560eb5babf test: adapt to the new capsh format
Since libcap v2.29 the format of cap_to_text() has been changed which
makes certain `test-execute` subtest fail. Let's remove the offending
part of the output (dropped capabilities) to make it compatible with
both the old and the new libcap.

(cherry picked from commit 9569e385036c05c0bf9fbccdbf3d131161398e2e)
(cherry picked from commit 1325dfb5778dedd3ca5274d3383e7c27121fa60a)
2020-02-05 17:37:02 +01:00
dann frazier
df7b3a05c9 test: Synchronize journal before reading from it
There's a race condition in the sysuser test where it may try to read
entries from the journal before they are available. Fix it by adding a
`journalctl --sync` call.

BugLink: https://bugs.launchpad.net/bugs/1776654
(cherry picked from commit 37b9966e2525790843ab302a5b8009853a7905a0)
(cherry picked from commit 2bbbe9ae41ab7037555ceb18f457ba84fa7241ba)
2020-02-05 17:35:38 +01:00
Lennart Poettering
1ff3972a0f test: add test for https://github.com/systemd/systemd/issues/14560
(cherry picked from commit e56a8790a0bf9021d693daef037cd6af85badf0d)
(cherry picked from commit 536ef6d72bc6cd76f3aff02d3bbbd17810216cce)
2020-02-05 17:34:45 +01:00
Anita Zhang
c90229d81d [import] fix stdin/stdout pipe behavior in import/export tar/raw
The code existed in machinectl to use stdin/stdout if the path for
import/export tar/raw was empty or dash (-) but a check to
`fd_verify_regular` in importd prevented it from working.

Update the check instead to explicitly check for regular file or
pipe/fifo.

Fixes #14346

(cherry picked from commit 1209ef94bd09bdc67a7b51f084910a5982f2f010)
(cherry picked from commit cfced59a4bd88e7d77ecf9ed40a22ec215356a83)
2020-02-05 17:22:05 +01:00
Yu Watanabe
ce82233f99 test: drop duplicated 's'
This fixes the following log message
```
Container TEST-07-ISSUE-1981 terminated by signal KILL.
E: test timed out after 30s s
```

(cherry picked from commit 235ecb6d75f00384b3f42f449c769340e13fbd0b)
2019-11-19 10:25:54 +01:00
Balint Reczey
ef677436aa test: Pass personality test even when i686 userland runs on x86_64 kernel
(cherry picked from commit bd89d03544d2b8ea53af7af0a97d4d121ef048c4)
2019-10-10 14:56:01 +02:00
Yu Watanabe
fab6f010ac dhcp6: use unaligned_read_be32()
Closes #13591.

(cherry picked from commit 0eb5e6d3f08c6b3a41cfa7ac02bcc6302259ed4a)
2019-09-21 23:07:00 +02:00
Yu Watanabe
f2d9af4322 dhcp6: add missing option length check
Closes #13578.

(cherry picked from commit 6ffe71d0e22326f8ea5775c188ae0e13573cd123)
2019-09-21 23:07:00 +02:00
Frantisek Sumsal
9d4e658529 test: drop the missed || exit 1 expression
...as we've already done in the rest of the testsuite, see
cc469c3dfc398210f38f819d367e68646c71d8da

(cherry picked from commit 67c434b03f8a24f5350f017dfb4b2464406046db)
2019-09-21 23:06:49 +02:00
Yu Watanabe
5d84a7ad1c test: add test cases for empty string match
(cherry picked from commit 48d26c90852c22ec94be961f5fbdcf462bb9a6e8)
2019-09-21 22:58:46 +02:00
Zbigniew Jędrzejewski-Szmek
6b4f7fb08c
Merge pull request #13385 from yuwata/core-remove-private-directories-13355
core: also remove private directories by systemctl clean
2019-08-31 09:28:39 +02:00
Zbigniew Jędrzejewski-Szmek
3a5a08bbb4
Merge pull request #13384 from yuwata/core-runtime-directory-preserve
core: make RuntimeDirectoryPreserve= works with non-service units
2019-08-30 13:00:57 +02:00
Yu Watanabe
c238b616cf test: add tests for systemctl clean with DynamicUser=yes 2019-08-28 23:09:54 +09:00
Yu Watanabe
6c431a16c3
Merge pull request #13382 from keszybz/network-ipv6-enable
Network ipv6 enable
2019-08-28 00:29:29 +09:00
Zbigniew Jędrzejewski-Szmek
57ad760746 network: drop all checks of ipv6_disabled sysctl
*We* control the sysctl setting. If the user configured IPv6, then we apply the
settings, and just make sure that at some point during the configuration the
sysctl is disabled (i.e. ipv6 enabled) if we have IPv6 configured.

Replaces #13283.
2019-08-27 15:31:48 +02:00
Dan Streetman
58c1a34437 test/TEST-10-ISSUE-2467: remove testsuite.service TimeoutStartSec
This test runs under qemu, which may run on some testbeds without
acceleration; in those cases, a 10s timeout is frequently too short.

Simply removing the timeout to allow the default timeoutsec should
be enough time for the test to finish, even on very slow testbeds.
2019-08-26 12:47:15 +09:00
Dan Streetman
65c5f3d074 test/TEST-18-FAILUREACTION: fix typo to actually run firstphase action
The if test for running the firstphase of the test should be negated
so the firstphase is actually executed.
2019-08-26 12:46:39 +09:00
Dan Streetman
adcc450f46 test/test-functions: use truncate instead of dd to create testbed image
This avoids unnecessary noise in the stderr logs which dd always produces,
such as:

0+0 records in
0+0 records out
0 bytes copied, 0.000155284 s, 0.0 kB/s

Using truncate should not result in any functional change; the image will
still be created as a sparse file of the size specified.
2019-08-25 15:37:51 +09:00
Dan Streetman
84c49ad197 test/test-functions: use binaries from $BUILD_DIR or installed system
In Ubuntu CI, we test binaries from the installed system, not from
$BUILD_DIR, so use the appropriate binary.  Most of the calls to the
binaries are part of checking/processing asan-built binaries, and so
did not apply to Ubuntu CI, except for generating noise in the stderr
log like:

objdump: '/tmp/autopkgtest.83yGoI/build.fHB/src/test/TEST-01-BASIC/systemd-journald': No such file

However this also applies to the call to systemd-nspawn, which the debian
upstream test wrapper was sed-adjusting to use the installed binary
instead of the binary in $BUILD_DIR.  This commit allows removing that
sed processing of the test-functions file during Ubuntu CI test.
2019-08-25 15:36:47 +09:00
Yu Watanabe
8246bb204c test: add tests for RuntimeDirectoryPreserve=yes 2019-08-23 00:22:54 +09:00
Zbigniew Jędrzejewski-Szmek
4eaa2486b8
Merge pull request #13235 from yuwata/network-routing-policy-rule-family-13233
network: add RoutingPolicyRule.Family= setting
2019-08-19 10:08:23 +02:00
Zbigniew Jędrzejewski-Szmek
165df4dcda
Merge pull request #13345 from yuwata/network-fix-preferred-lifetime-zero-13341
network: fix PreferredLifetime=0
2019-08-19 09:59:16 +02:00
Yu Watanabe
134075bf30
Merge pull request #13344 from ddstreet/test-functions
Minor/cosmetic changes to test/test-functions, some test.sh
2019-08-19 00:34:35 +09:00
Dan Streetman
e24619fddd test: increase qemu timeout for TEST-18 and TEST-19
These tests runs under qemu, and on some testbeds, without acceleration.
On those systems, the current 180 second overall test timeout is too
short to run the test.

Increasing the timeout to 600s should be enough, even for slow
non-accelerated qemu testbeds.
2019-08-19 00:30:22 +09:00
Yu Watanabe
e4783b548a test-network: update test for PreferredLifetime=0 2019-08-19 00:06:50 +09:00
Dan Streetman
8c03df36fe test/test-functions: add mkdir to import_initdir
This dir is created by create_empty_image_rootdir, as well as indirectly
by some other functions, but it should be created by import_initdir so
the newly-exported $initdir exists and can be used immediately without
relying on other functions to create it.
2019-08-17 12:29:15 -04:00
Dan Streetman
0036ce06cb test: replace $TESTDIR/root with $initdir
The $initdir var is already set to $TESTDIR/root, it should be used
instead of direct use of $TESTDIR/root.
2019-08-17 12:29:08 -04:00
Dan Streetman
f422967529 test: TEST-33 and TEST-36 should use create_empty_image_rootdir
This recently added function handles mkdir and mounting of the empty image,
as well as umounting after test_setup.
2019-08-17 12:28:57 -04:00
Dan Streetman
9e19a8b028 test/test-functions: avoid stderr noise, only umount on cleanup if mountpoint
Only umount it during cleanup if the $TESTDIR/root dir is a mountpoint.
This avoids adding noise to the stderr log such as:

mountpoint: /var/tmp/systemd-test.waLOFT/root: No such file or directory
2019-08-17 12:28:41 -04:00
Yu Watanabe
65c24cd087 test-network: add tests for RoutingPolicyRule.Family=ipv6 and both 2019-08-16 22:02:17 +09:00
Yu Watanabe
f6c6ff97f5 network: add RoutingPolicyRule.Family= setting
Closes #13233.
2019-08-16 22:02:17 +09:00
Daniel Black
f364a17dd1 test: ppc64* qemu is qemu-system-ppc64 2019-08-14 07:43:29 +00:00
Frantisek Sumsal
215bffe1b8 test: store coredumps in journal
To make debugging much easier, especially for crashes in tests under
QEMU, let's store the entire coredump bundle in the systemd journal,
which is usually kept around by various CIs. Right now, we usually end
up with a journal, but without the coredump itself, which is pretty
useless.
2019-08-13 07:09:57 +00:00
William A. Kennington III
d1bdafd214 networkd: Keep track of static neighbors
We need to keep track of the static neighbors that are configured on the
interface so that we can delete stale entries that were removed.
2019-08-12 20:28:19 +09:00
William A. Kennington III
0b1cd3e25a networkd: Routes should take the gateway into account
Otherwise, changing the default gateway doesn't purge old gateway routes
left on the system during daemon restart. This also fixes removing other
foreign gateway routes that don't match the expected configuration.

Tested:
    Changed gateway addresses prior to the patch and they lingered on
    the system during each reconfiguration. Applied this patch and
    reconfigured gateways and other routes multiple times and it removed
    the foreign routes that had gateways that didn't match.

Signed-off-by: William A. Kennington III <william@wkennington.com>
2019-08-07 20:32:36 +09:00
Frantisek Sumsal
92f8e97892 test: add a simple sanity check for systems without NUMA support 2019-08-05 15:05:32 +02:00
Frantisek Sumsal
c7367d7cfd test: give strace some time to initialize
The `coproc` implementation seems to be a little bit different in older
bash versions, so the `strace` is sometimes started AFTER `systemctl
daemon-reload`, which causes unexpected fails. Let's help it a little by
sleeping for a bit.
2019-08-05 15:05:32 +02:00
Frantisek Sumsal
b030847163 test: skip the test on systems without NUMA support 2019-08-05 15:05:32 +02:00
Frantisek Sumsal
56425e54a2 test: make sure the strace process is indeed dead
It may take a few moments for the strace process to properly terminate
and write all logs to the backing storage
2019-08-05 15:05:32 +02:00
Frantisek Sumsal
ac14396d02 test: support MPOL_LOCAL matching in unpatched strace versions
The MPOL_LOCAL constant is not recognized in current strace versions.
Let's match at least the numerical value of this constant until the
strace patch is approved & merged.
2019-08-05 15:05:32 +02:00
Frantisek Sumsal
d0b2178f3e test: replace tail -f with journal cursor which should be...
more reliable
2019-08-05 15:05:26 +02:00
Frantisek Sumsal
8f65e26508 test: introduce TEST-36-NUMAPOLICY 2019-08-05 13:48:29 +02:00
Frantisek Sumsal
761ce2a4ba test: allow overriding QEMU_OPTIONS from the outside 2019-08-05 13:48:29 +02:00
Frantisek Sumsal
345997f393 test: print an error when networkctl returns an unexpected EC
If networkctl crashes, like recently with SIGABRT, it returns absolutely
no output, which may be confusing during debugging. Help it a little
with a short informative message.
2019-07-31 16:33:12 +02:00
Frantisek Sumsal
2de705cd1c test: use useradd instead of adduser
`adduser` is in certain cases a standalone package which provides a
better user experience. In other cases it's just a symlink to `useradd`.
And some distributions don't have `adduser` at all, like Arch Linux.
Let's use the `useradd` binary instead, which should provide the same
functionality everywhere.
2019-07-30 20:26:25 +02:00
Lennart Poettering
5756bff6f1
Merge pull request #13119 from keszybz/unit-loading-2
Rework unit loading to take into account all aliases
2019-07-30 17:55:37 +02:00
Zbigniew Jędrzejewski-Szmek
9f4afc0154
Merge pull request #13189 from yuwata/network-initrd-generator-unit
unit: update initrd-network-generator.service
2019-07-30 16:38:59 +02:00
Zbigniew Jędrzejewski-Szmek
e8630e6952 pid1: use a cache for all unit aliases
This reworks how we load units from disk. Instead of chasing symlinks every
time we are asked to load a unit by name, we slurp all symlinks from disk
and build two hashmaps:
1. from unit name to either alias target, or fragment on disk
   (if an alias, we put just the target name in the hashmap, if a fragment
    we put an absolute path, so we can distinguish both).
2. from a unit name to all aliases

Reading all this data can be pretty costly (40 ms) on my machine, so we keep it
around for reuse.

The advantage is that we can reliably know what all the aliases of a given unit
are. This means we can reliably load dropins under all names. This fixes #11972.
2019-07-30 14:01:46 +02:00