Zbigniew Jędrzejewski-Szmek
e830d6dd2d
Merge pull request #25145 from yuwata/udevadm-trigger
...
udev: make 'udevadm trigger --settle' work even if device is renamed
2023-01-23 13:49:20 +01:00
Michael Biebl
a4bc35740a
test: fix TEST-73-LOCALE on Debian
...
Fix incorrection assumption about the Debian patch being buggy and
actually making TEST-73-LOCALE fail on Debian.
```
# localectl set-locale LANG=C.UTF-8
# cat /etc/default/locale
LANG=C.UTF-8
```
2023-01-23 11:41:14 +00:00
Jelle van der Waa
ad8858c1f7
hostnamed: expose FirmwareDate as timestamp in dbus
...
Offer the firmware date as an epoch instead of the literal DMI string.
Closes #25679
2023-01-19 21:57:06 +01:00
Yu Watanabe
ff4d2a09fd
test: use 'udevadm trigger --settle' even if device is renamed
2023-01-19 17:58:05 +09:00
Daan De Meyer
78d774bab4
testsuite-77: Fix race condition
...
Use a socket unit to make sure the socket exists before we start
the client that accesses it.
2023-01-19 02:11:41 +00:00
joshuazivkovic
a23be57de3
systemd-analyze: Add --json=, --table and -no-legend tests for plot
2023-01-18 14:33:08 +00:00
Luca Boccassi
e0e7bc8223
core: add GetUnitByPIDFD method and use it in systemctl
...
A pid can be recycled, but a pidfd is pinned. Add a new method that is safer
as it takes a pidfd as input.
Return not only the D-Bus object path, but also the unit id and the last
recorded invocation id, as they are both useful (especially the id, as
converting from a path object to a unit id from a script requires another
round-trip via D-Bus).
Note that the manager still tracks processes by pid, so theorethically this
is not fully error-proof, but on the other hand the method response is
synchronous and the manager is single-threaded, so once a call is being
processed the unit database will not change anyway. Once the manager
switches to use pidfds everywhere, this can be further hardened.
2023-01-18 10:58:46 +01:00
Lennart Poettering
f44ed151c6
test: add simple integration test for checking PCR extension works as it should
2023-01-17 09:42:16 +01:00
Luca Boccassi
9e6b820e8d
Merge pull request #26051 from YHNdnzj/systemctl-list-dependencies-type
...
systemctl: list-dependencies: support --type= and --state=
2023-01-16 19:38:58 +00:00
Mike Yuan
3729976944
systemctl: list-dependencies: support --type= and --state=
...
Closes #25975
2023-01-16 19:46:52 +08:00
Frantisek Sumsal
fc2a0bc05e
test: support a non-default SysV directory
...
Since the directory is configurable via -Dsysvinit-path= during build,
it makes the test fail on Fedora/RHEL/CentOS, where it's set to
/etc/rc.d/init.d, instead of the default /etc/init.d. Since we can't get
the value at runtime (in a reasonable manner), let's just support the
two most common paths for now.
Follow up to 7fcf0fab07 .
2023-01-14 09:50:43 +09:00
Frantisek Sumsal
7fcf0fab07
test: explicitly create the /etc/init.d directory
...
On RHEL/CentOS/Fedora this directory is provided by the chkconfig or
initscripts package, which might not be installed:
testsuite-26.sh[1225]: + [[ -x /usr/lib/systemd/system-generators/systemd-sysv-generator ]]
testsuite-26.sh[1225]: + cat
testsuite-26.sh[2330]: /usr/lib/systemd/tests/testdata/units/testsuite-26.sh: line 299: /etc/init.d/issue-24990: No such file or directory
Follow-up to 5f882cc3ab .
2023-01-13 10:48:40 +09:00
Lennart Poettering
ee52bbc68f
test: add Type=notify-reload testcase
2023-01-10 18:28:38 +01:00
Richard Phibel
cd48e23f6a
core: add OpenFile setting
2023-01-10 15:16:26 +01:00
Yu Watanabe
2d0d75b279
test: add tests for failure in renaming network interface
2023-01-10 14:25:20 +09:00
Lennart Poettering
d0242ac946
format-table: add field type TABLE_PATH_BASENAME
...
This is just like TABLE_PATH, but only shows the basename in regular
tabular output.
This is useful in systemd-repart for example
2022-12-23 17:35:21 +01:00
Luca Boccassi
896785a7d9
Merge pull request #25387 from yuwata/core-fix-gc-logic
...
core: fix logic of merging units
2022-12-17 14:49:21 +01:00
наб
209d355c70
Add basic systemctl edit test
2022-12-17 14:47:38 +01:00
Yu Watanabe
ea4b8f4cbf
test: systemd-mount --list and systemd-umount requires the device is initialized by udevd
...
Fixes #25674 .
2022-12-16 15:14:42 +09:00
Yu Watanabe
ad48ff12bd
test: show and check almost all journal entries since the relevant command being invoked
...
For some reasons, journal timestamps from other sources sometimes
inconsistent. For example,
```
$ journalctl --file system.journal -o short-monotonic -u resmontest.service
[ 1112.168109] ns1.unsigned.test resolvectl[419]: → Q: ns1.unsigned.test IN AAAA
[ 1112.168109] ns1.unsigned.test resolvectl[419]: ← S: success
[ 1112.168109] ns1.unsigned.test resolvectl[419]: → Q: ns1.unsigned.test IN A
[ 1112.168109] ns1.unsigned.test resolvectl[419]: ← S: success
[ 1112.168109] ns1.unsigned.test resolvectl[419]: ← A: ns1.unsigned.test IN A 10.0.0.1
[ 1112.171961] ns1.unsigned.test systemd[1]: resmontest.service: Failed to load configuration: No such file or directory
[ 1112.172223] ns1.unsigned.test systemd[1]: resmontest.service: Trying to enqueue job resmontest.service/start/fail
[ 1112.179866] ns1.unsigned.test systemd[1]: resmontest.service: Installed new job resmontest.service/start as 312
[ 1112.179894] ns1.unsigned.test systemd[1]: resmontest.service: Enqueued job resmontest.service/start as 312
[ 1112.180389] ns1.unsigned.test systemd[1]: resmontest.service: Will spawn child (service_enter_start): /usr/bin/resolvectl
[ 1112.180418] ns1.unsigned.test systemd[1]: resmontest.service: Passing 0 fds to service
[ 1112.180447] ns1.unsigned.test systemd[1]: resmontest.service: About to execute /usr/bin/resolvectl monitor
[ 1112.180477] ns1.unsigned.test systemd[1]: resmontest.service: Forked /usr/bin/resolvectl as 419
[ 1112.180619] ns1.unsigned.test systemd[1]: resmontest.service: Changed dead -> start
[ 1112.180651] ns1.unsigned.test systemd[1]: Starting resmontest.service...
[ 1112.180799] ns1.unsigned.test systemd[419]: resmontest.service: Kernel keyring access prohibited, ignoring.
[ 1112.180895] ns1.unsigned.test systemd[419]: resmontest.service: Executing: /usr/bin/resolvectl monitor
[ 1112.181383] ns1.unsigned.test systemd[1]: resmontest.service: Got notification message from PID 419 (READY=1)
[ 1112.181413] ns1.unsigned.test systemd[1]: resmontest.service: Changed start -> running
[ 1112.181441] ns1.unsigned.test systemd[1]: resmontest.service: Job 312 resmontest.service/start finished, result=done
[ 1112.181469] ns1.unsigned.test systemd[1]: Started resmontest.service.
```
In such case, `journalctl -f` may not show the entries what we are interested in.
Fixes #25749 . (At least, workarond for the issue.)
2022-12-16 03:43:38 +09:00
Yu Watanabe
0b92fbbaee
test: fix typo
2022-12-16 01:38:08 +09:00
Yu Watanabe
9b8eb412ca
Merge pull request #25756 from yuwata/test-resolve-1
...
test: several cleanups for TEST-75-RESOLVE
2022-12-16 00:53:52 +09:00
Yu Watanabe
b3f1afc089
Merge pull request #24058 from qdeslandes/journald_regex_filtering
...
Allow for journald logs filtering on a per-unit basis
2022-12-15 22:03:33 +09:00
Yu Watanabe
133708b879
Revert "test: wait for the monitoring service to become active"
...
This reverts commit 5dd34c2604 .
`resolvectl monitor` sends notify event, and systemd-run wait for the
service being in active state. Hence, the loop is not necessary.
2022-12-15 21:50:13 +09:00
Yu Watanabe
ef09861a0b
test: suppress echo in monitor_check_rr()
2022-12-15 21:50:13 +09:00
Daan De Meyer
640c02d529
repart: Fix integration test
2022-12-15 21:48:30 +09:00
Lennart Poettering
6b41e0250f
test: add integration test for systemd-measure --append=
2022-12-15 11:40:21 +01:00
Quentin Deslandes
1c9c6fc7df
journal: add integration tests for log filtering
...
Add integration tests for journald's log filtering feature.
2022-12-15 09:57:39 +00:00
Yu Watanabe
62650f4258
Merge pull request #25602 from fbuihuu/fix-TEST-73-LOCALE
...
localed: reload PID1 configuration after modifying /etc/locale.conf
2022-12-15 17:47:05 +09:00
Luca Boccassi
e146136304
Merge pull request #25717 from bluca/reload
...
manager: log reload() sender and allow rate-limiting
2022-12-14 15:45:22 +01:00
Zbigniew Jędrzejewski-Szmek
357f5ccbf6
Merge pull request #25689 from YHNdnzj/systemctl-exit-code
...
systemctl: make is-* return EXIT_PROGRAM_OR_SERVICES_STATUS_UNKNOWN(4) when no unit file is found
2022-12-14 08:37:16 +01:00
Daan De Meyer
8275334bec
repart: Rename --skip-partitions to --defer-partitions
...
Defer is better because it indicates that we still intend to
populate these partitions later.
2022-12-14 13:20:32 +09:00
Luca Boccassi
856bfaeb05
manager: add option to rate limit daemon-reload
...
Reloading is a heavy-weight operation, and currently it is not
possible to stop an orchestrator from spamming reload requests.
Add configuration options to allow rate-limiting.
2022-12-13 18:13:10 +00:00
Mike Yuan
9aaa333fc3
TEST-26-SYSTEMCTL: test about systemctl return codes for is-* verbs
...
We should return 4 when no unit file is found.
See also: #25689 #25680
2022-12-14 01:43:28 +08:00
Lennart Poettering
09e917ea4d
repart: support erofs
...
So, i think "erofs" is probably the better, more modern alternative to
"squashfs". Many of the benefits don't matter too much to us I guess,
but there's one thing that stands out: erofs has a UUID in the
superblock, squashfs has not. Having an UUID in the superblock matters
if the file systems are used in an overlayfs stack, as overlayfs uses
the UUIDs to robustly and persistently reference inodes on layers in
case of metadata copy-up.
Since we probably want to allow such uses in overlayfs as emplyoed by
sysext (and the future syscfg) we probably should ramp up our erofs game
early on. Hence let's natively support erofs, test it, and in fact
mention it in the docs before squashfs even.
2022-12-10 11:26:36 +01:00
Lennart Poettering
971d83a8d3
test: add simple test for new --in-memory switch for systemd-dissect
2022-12-08 12:49:50 +01:00
Yu Watanabe
daff9d5460
Merge pull request #25564 from poettering/dissect-discover
...
systemd-dissect: add simple "--discover" command
2022-12-08 12:29:07 +09:00
Frantisek Sumsal
5dd34c2604
test: wait for the monitoring service to become active
...
Otherwise we might start querying resolved too early, causing the
monitoring service to miss stuff:
```
[ 1103.149474] testsuite-75.sh[35]: + systemd-run -u resmontest.service -p Type=notify resolvectl monitor
[ 1103.353803] testsuite-75.sh[423]: Running as unit: resmontest.service
[ 1103.353989] testsuite-75.sh[35]: + knotc zone-begin test.
[ 1103.354160] testsuite-75.sh[425]: OK
...
[ 1103.355298] testsuite-75.sh[35]: + knotc reload
[ 1103.355363] testsuite-75.sh[438]: Reloaded
[ 1103.355536] testsuite-75.sh[35]: + : '--- nss-resolve/nss-myhostname tests'
[ 1103.355536] testsuite-75.sh[35]: + run getent -s resolve hosts ns1.unsigned.test
[ 1103.356127] testsuite-75.sh[443]: + getent -s resolve hosts ns1.unsigned.test
[ 1103.356505] testsuite-75.sh[444]: + tee /tmp/tmp.bXg5Uj5Jkk
[ 1103.359591] resolvectl[424]: → Q: ns1.unsigned.test IN AAAA
[ 1103.359591] resolvectl[424]: ← S: success
[ 1103.359850] testsuite-75.sh[444]: 10.0.0.1 ns1.unsigned.test
[ 1103.359939] resolvectl[424]: → Q: ns1.unsigned.test IN A
[ 1103.359939] resolvectl[424]: ← S: success
[ 1103.359939] resolvectl[424]: ← A: ns1.unsigned.test IN A 10.0.0.1
[ 1103.360149] testsuite-75.sh[35]: + grep -qE '^10\.0\.0\.1\s+ns1\.unsigned\.test' /tmp/tmp.bXg5Uj5Jkk
[ 1103.362119] systemd[1]: Starting resmontest.service...
[ 1103.362633] systemd[1]: Started resmontest.service.
[ 1103.363263] testsuite-75.sh[35]: + monitor_check_rr 'ns1.unsigned.test IN A 10.0.0.1'
[ 1103.363263] testsuite-75.sh[35]: + local 'match=ns1.unsigned.test IN A 10.0.0.1'
[ 1103.363377] testsuite-75.sh[35]: + set +o pipefail
[ 1103.363836] testsuite-75.sh[458]: + journalctl -u resmontest.service -f --full
[ 1103.364042] testsuite-75.sh[459]: + grep -m1 'ns1.unsigned.test IN A 10.0.0.1'
...
Trying to halt container. Send SIGTERM again to trigger immediate termination.
Container TEST-75 terminated by signal KILL.
```
2022-12-08 09:05:14 +09:00
Lennart Poettering
0305cf6e9d
dissect: add simple --discover command
2022-12-07 17:57:22 +01:00
Zbigniew Jędrzejewski-Szmek
1f9caf28ca
TEST-65: use [[ -v ]] more
...
It's a bashism, but we use other bash features anyway, and it's cleaner
and much less verbose.
2022-12-07 12:38:15 +01:00
Zbigniew Jędrzejewski-Szmek
a7eed3eca3
TEST-65: check cat-config operation in chroot
...
This verifies the fix in 2075b6dd39 .
2022-12-07 12:38:10 +01:00
Yu Watanabe
5f882cc3ab
test: add test case for sysv-generator and invalid dependency
2022-12-06 17:49:31 +09:00
Frantisek Sumsal
d19e5540f2
test: check if we can use SHA1 MD for signing before using it
...
Some distributions have started phasing out SHA1, which breaks
the systemd-measure test case in its current form. Let's make sure we
can use SHA1 for signing beforehand to mitigate this.
Spotted on RHEL 9, where SHA1 signatures are disallowed by [0]:
```
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out "/tmp/pcrsign-private.pem"
...
openssl rsa -pubout -in "/tmp/pcrsign-private.pem" -out "/tmp/pcrsign-public.pem"
writing RSA key
/usr/lib/systemd/systemd-measure sign --current --bank=sha1 --private-key="/tmp/pcrsign-private.pem" --public-key="/tmp/pcrsign-public.pem"
Failed to initialize signature context.
```
[0] https://gitlab.com/redhat/centos-stream/rpms/openssl/-/blob/c9s/0049-Selectively-disallow-SHA1-signatures.patch
2022-12-02 14:33:05 +01:00
Franck Bui
b1afa5a67b
test: update TEST-73-LOCALE to define several locale settings in initial PID1 environment
2022-12-02 12:18:18 +01:00
Yu Watanabe
7a95d1d8d1
Merge pull request #25508 from enr0n/test-various-fixes
...
Fix test failures found in Ubuntu autopkgtest
2022-11-29 13:46:39 +09:00
Luca Boccassi
8936a2a8f0
Merge pull request #25532 from Werkov/fix-cgtop-args
...
cgtop: Do not rewrite -P or -k options
2022-11-28 22:20:47 +01:00
Nick Rosbrook
bb59fdc1e3
test: handle Debian's /etc/default/locale in testsuite-74.firstboot.sh
...
This handles a Debian-specific quirk where /etc/default/locale is used
instead of /etc/locale.conf. There is currently special handling for
this in testsuite-73.sh, so the quirk should be handled here too for
consistency.
2022-11-28 11:01:22 -05:00
Nick Rosbrook
84e5b9225d
test: make sure mount point exists in testsuite-64.sh
2022-11-28 10:55:20 -05:00
Michal Koutný
d4e32838e8
test: Add tests for systemd-cgtop args parsing
2022-11-28 14:29:49 +01:00
Lennart Poettering
17f244e8f9
resolved: introduce the _localdnsstub and _localdnsproxy special hostnames for 127.0.0.54 + 127.0.0.53
...
Let's give these special IP addresses names. After all name resolution
is our job here.
Fixes : #23623
2022-11-25 17:37:30 +01:00