David Tardon
9ac0855b61
test: add test for org.freedesktop.login1.Session SetType
2022-07-13 13:53:13 +02:00
David Tardon
bd681a7eb0
test: ensure cleanup functions return success
...
Otherwise the return value of the last command is propagated, which may
cause spurious test failures. E.g., pkill returns 1 if no process
matched, which may be a problem in cleanup session:
cleanup_session() {
...
pkill -u "$(id -u logind-test-user)"
sleep 1
pkill -KILL -u "$(id -u logind-test-user)"
}
If there are no remaining processes when the final pkill runs, it will
return 1 and therefore cleanup_session will return 1 as well.
2022-07-13 13:53:13 +02:00
Yu Watanabe
9d9fd4ad0a
test: start test user session before idle action setting is changed
...
Otherwise, idle action may be triggered before starting the test user
session.
This also introduce create_session() and cleanup_session() helper
functions.
Fixes #23952 .
2022-07-08 16:14:38 +00:00
Yu Watanabe
74af762551
test: use timeout command to improve performance
...
c.f. #23723 .
2022-07-08 07:02:13 +09:00
Yu Watanabe
d64c7623ab
test: remove /failed and /testok before running test script
2022-07-08 07:00:02 +09:00
Frantisek Sumsal
8fec14a7d3
test: use PBKDF2 with capped iterations instead of Argon2
...
to reduce the amount of resources the test needs (similarly to TEST-24
where we do the same thing).
2022-07-07 20:54:41 +02:00
Frantisek Sumsal
1e42972958
test: make TEST-64 a bit more ASan friendly
...
Reduce the number of iterations in some of the test cases, since they
generate a huge amount of uevents and basically DoS udev (which can't
keep up while being slowed down by ASan). To avoid this, let's reduce
the number of iterations and bump the timeout when running under ASan,
since we're not interested in performance in such cases.
2022-07-07 20:54:41 +02:00
Yu Watanabe
63663a0f0f
test: several cleanups for TEST-35-LOGIN
...
- use test_append_files() to install additional commands
- drop use of expect
- include assert.sh and use assertions at several places
- use timeout command at several places
- always use logind-test-user
- etc
2022-07-07 13:15:00 +00:00
Michal Sekletar
bf40417c7c
tests: add test for handling of background sessions
2022-07-07 10:11:43 +09:00
Yu Watanabe
948fce5118
test: fix typo
2022-07-07 09:33:11 +09:00
Yu Watanabe
99080ed3f0
Merge pull request #23396 from msekletar/fix-idle-action-lock
...
logind: remember our idle state and use it to detect idle level transitions
2022-07-07 07:42:51 +09:00
Yu Watanabe
7c38952e68
Merge pull request #23104 from mrc0mmand/resolved-tests
...
Introduce systemd-resolved test suite
2022-07-04 23:46:16 +09:00
Michal Sekletar
181656fc0f
tests: verify that Lock D-Bus signal is sent when IdleAction=lock
2022-07-04 14:22:15 +02:00
Frantisek Sumsal
fb6f25d7b9
test: Introduce systemd-resolved test suite
...
Resolves : #19599
2022-07-04 12:21:55 +02:00
Frantisek Sumsal
d1b1bbfbfa
test: add a simple test for daemon-reexec
2022-07-02 05:23:03 +09:00
Frantisek Sumsal
53008d0714
test: drop unnecessary || :
...
since we use `set +e` in the cleanup handler.
2022-06-26 22:06:02 +02:00
Frantisek Sumsal
71cde065b5
test: make TEST-21-DFUZZER work in containers
...
by avoiding fuzzing networkd and timesyncd when running in a container.
2022-06-26 22:06:02 +02:00
Frantisek Sumsal
56e8ee55d5
test: make the shutdown routine a bit more "robust"
...
Replace the call to the `end.service` with `systemctl poweroff`, since
it seems to cause issues no matter what `--job-mode=` is used:
```
[ 129.070993] testsuite-21.sh[380]: ++ systemctl start --job-mode=flush end.service
[ 129.154985] testsuite-21.sh[912]: Failed to start end.service: Transaction for end.service/start is destructive (sysinit.target has 'stop' job queued, but 'start' is included in transaction).
[ 129.159636] testsuite-21.sh[912]: See system logs and 'systemctl status end.service' for details.
```
Also, add a "safety net" which bypasses the manager and does the
poweroff directly, since sometimes the D-Bus call performed by
`systemctl` might timeout (as the manager might be still processing data
from the fuzzing):
```
[ 115.776778] sh[894]: + systemctl poweroff --no-block
[ 166.164242] testsuite-21.sh[893]: Failed to start transient service unit: Connection timed out
[ 166.269289] sh[894]: Call to PowerOff failed: Connection timed out
```
2022-06-21 12:11:43 +02:00
Frantisek Sumsal
5309b56505
test: drop the at_exit() coredump check
...
since we don't truncate the journal anymore.
2022-06-21 10:13:48 +02:00
Frantisek Sumsal
d3eb4159c9
test: make dfuzzer less verbose
...
Otherwise it oversaturates the journal, which in some cases can't keep
up with the load of messages (due to the performance penalty caused by
sanitizers), and gets killed by a watchdog.
2022-06-21 10:04:03 +02:00
Frantisek Sumsal
0897048500
test: use saved process PID instead of %%
...
As the `%%` specifier might fail if the current job (i.e. the last
background job) already finished:
```
[ 61.692196] testsuite-04.sh[656]: ++ systemd-id128 new
[ 61.705407] testsuite-04.sh[263]: + ID=912cb8f8ef304153a123f772bb0fe9e0
[ 61.706318] testsuite-04.sh[657]: + systemd-cat -t 912cb8f8ef304153a123f772bb0fe9e0 bash -c 'echo parent; (echo child) & wait'
[ 61.720940] testsuite-04.sh[263]: + PID=657
[ 61.721126] testsuite-04.sh[263]: + wait %%
[ 61.723014] testsuite-04.sh[263]: /usr/lib/systemd/tests/testdata/units/testsuite-04.sh: line 96: wait: %%: no such job
```
2022-06-20 17:56:09 +00:00
Frantisek Sumsal
354b3364aa
test: fuzz our dbus interfaces with dfuzzer
2022-06-19 16:22:35 +02:00
Yu Watanabe
297cc64bfb
Merge pull request #23771 from mrc0mmand/test-tweaks
...
A couple of test-output-related tweaks
2022-06-18 10:45:22 +09:00
Frantisek Sumsal
72f0e89c0d
test: fix a couple of issues found by shellcheck
2022-06-17 15:28:17 +02:00
Frantisek Sumsal
c84d1c9822
test: don't flush debug logs to the console
...
Let's keep the debug logs in the journal, while logging only
testsute-*.sh stdout/stderr to the console (ba7abf7). This should make
the test output log a bit more readable and potentially the tests itself
a bit faster by avoiding console oversaturation.
Also, it should significantly reduce the size of artifacts kept by CIs.
2022-06-17 15:06:59 +02:00
Frantisek Sumsal
582547cbd3
test: make the busy loop in TEST-02 less verbose
...
as it unnecessarily clogs the logs.
2022-06-17 14:51:52 +02:00
Luca Boccassi
9dd98db27d
Merge pull request #23756 from yuwata/analyze-seccomp-filter
...
analyze: fix seccomp filter handling in security command
2022-06-17 09:58:14 +01:00
Frantisek Sumsal
ba7abf79a5
test: send stdout/stderr of testsuite units to journal & console
...
to make debugging in CIs slightly easier.
2022-06-17 12:54:50 +09:00
Yu Watanabe
cf906beaef
test: add syscall filter tests for analyze security
2022-06-17 12:45:45 +09:00
Yu Watanabe
75176c7914
Merge pull request #23741 from mrc0mmand/more-asan-tweaks
...
test: wrap certain uninstrumented binaries to make them work w/ ASan
2022-06-16 12:10:56 +09:00
Yu Watanabe
172cbcdc8b
tree-wide: fix typo
2022-06-15 14:50:34 +09:00
Frantisek Sumsal
aca811544e
Revert "test: fix TEST-70 under sanitizers"
...
This reverts commit 47d81bc61315bae917276f978f39f200cf31e106.
2022-06-14 22:57:07 +02:00
Yu Watanabe
6243063824
test: use trap RETURN
2022-06-14 21:08:04 +09:00
Yu Watanabe
2f34ee3329
test: insert space in for loop
2022-06-14 21:05:10 +09:00
Yu Watanabe
47ba157cc0
test: import localed tests from debian/ubuntu test suite
2022-06-14 20:59:36 +09:00
Yu Watanabe
39f4546199
test: import hostnamed tests from debian/ubuntu test suite
2022-06-14 20:56:18 +09:00
Yu Watanabe
aab61a8c99
test: support debian/ubuntu specific timezone config file
2022-06-14 20:52:44 +09:00
Yu Watanabe
8ed2103306
test: drop unnecessary --no-pager option
2022-06-14 20:52:44 +09:00
Yu Watanabe
d170b47535
test: introduce assert_not_in() helper function
...
This also silence assertions, and replace grep with bash's regular
expression match.
2022-06-14 20:52:38 +09:00
Frantisek Sumsal
bf24eafcd2
Merge pull request #23584 from yuwata/test-login
...
test: import logind test from debian/ubuntu test suite
2022-06-10 14:50:35 +00:00
Yu Watanabe
759ed0a253
test: import timedated test from debian/ubuntu test suite
2022-06-10 16:04:52 +09:00
Yu Watanabe
9c94ab0f6f
test: import logind test from debian/ubuntu test suite
2022-06-10 15:44:10 +09:00
Frantisek Sumsal
47d81bc613
test: fix TEST-70 under sanitizers
...
Addresses:
* https://github.com/systemd/systemd/issues/23578#issuecomment-1144089821
* https://github.com/systemd/systemd-centos-ci/pull/496#issuecomment-1144640305
2022-06-06 14:48:27 +02:00
Yu Watanabe
71891fb2de
Merge pull request #23558 from msekletar/issue-20329-followup
...
Actually delay running of mount start jobs when /p/s/mountinfo is rate limited
2022-05-31 17:38:25 +09:00
Frantisek Sumsal
eec21613bb
test: add coverage for #23481
...
Provide some coverage for systemd/systemd#23481.
Without 794da5a:
```
[ 34.730815] testsuite-29.sh[600]: + portablectl detach --now --runtime --enable /tmp/rootdir minimal-app0
Stopping minimal-app0-foo.service...
[ OK ] Stopped minimal-app0-foo.service.
Stopping minimal-app0.service...
[ OK ] Stopped minimal-app0.service.
[ 34.878050] testsuite-29.sh[1383]: =================================================================
[ 34.878421] testsuite-29.sh[1383]: ==1383==ERROR: LeakSanitizer: detected memory leaks
[ 34.878784] testsuite-29.sh[1383]: Direct leak of 48 byte(s) in 2 object(s) allocated from:
[ 34.879174] testsuite-29.sh[1383]: #0 0x7fdf9c8b0f8c in reallocarray (/lib64/libasan.so.6+0xaef8c)
[ 34.879554] testsuite-29.sh[1383]: #1 0x7fdf9b4270f5 in unit_file_changes_add ../src/shared/install.c:282
[ 34.879926] testsuite-29.sh[1383]: #2 0x7fdf9b2ad9e5 in bus_deserialize_and_dump_unit_file_changes ../src/shared/bus-unit-util.c:2688
[ 34.880267] testsuite-29.sh[1383]: #3 0x40bc27 in maybe_enable_disable ../src/portable/portablectl.c:582
[ 34.880673] testsuite-29.sh[1383]: #4 0x40ef56 in maybe_stop_disable ../src/portable/portablectl.c:810
[ 34.881064] testsuite-29.sh[1383]: #5 0x410bc2 in detach_image ../src/portable/portablectl.c:924
[ 34.881493] testsuite-29.sh[1383]: #6 0x7fdf9b5df424 in dispatch_verb ../src/shared/verbs.c:103
[ 34.881953] testsuite-29.sh[1383]: #7 0x41604a in run ../src/portable/portablectl.c:1427
[ 34.882459] testsuite-29.sh[1383]: #8 0x416106 in main ../src/portable/portablectl.c:1430
[ 34.882947] testsuite-29.sh[1383]: #9 0x7fdf99d5de8f in __libc_start_call_main (/lib64/libc.so.6+0x44e8f)
[ 34.883368] testsuite-29.sh[1383]: Indirect leak of 104 byte(s) in 2 object(s) allocated from:
[ 34.883732] testsuite-29.sh[1383]: #0 0x7fdf9c85b8f7 in strdup (/lib64/libasan.so.6+0x598f7)
[ 34.884089] testsuite-29.sh[1383]: #1 0x7fdf9b4271aa in unit_file_changes_add ../src/shared/install.c:288
[ 34.884508] testsuite-29.sh[1383]: #2 0x7fdf9b2ad9e5 in bus_deserialize_and_dump_unit_file_changes ../src/shared/bus-unit-util.c:2688
[ 34.884926] testsuite-29.sh[1383]: #3 0x40bc27 in maybe_enable_disable ../src/portable/portablectl.c:582
[ 34.885307] testsuite-29.sh[1383]: #4 0x40ef56 in maybe_stop_disable ../src/portable/portablectl.c:810
[ 34.885647] testsuite-29.sh[1383]: #5 0x410bc2 in detach_image ../src/portable/portablectl.c:924
[ 34.885987] testsuite-29.sh[1383]: #6 0x7fdf9b5df424 in dispatch_verb ../src/shared/verbs.c:103
[ 34.886271] testsuite-29.sh[1383]: #7 0x41604a in run ../src/portable/portablectl.c:1427
[ 34.886557] testsuite-29.sh[1383]: #8 0x416106 in main ../src/portable/portablectl.c:1430
[ 34.886892] testsuite-29.sh[1383]: #9 0x7fdf99d5de8f in __libc_start_call_main (/lib64/libc.so.6+0x44e8f)
[ 34.887187] testsuite-29.sh[1383]: Indirect leak of 2 byte(s) in 2 object(s) allocated from:
[ 34.887520] testsuite-29.sh[1383]: #0 0x7fdf9c85b8f7 in strdup (/lib64/libasan.so.6+0x598f7)
[ 34.887797] testsuite-29.sh[1383]: #1 0x7fdf9b427249 in unit_file_changes_add ../src/shared/install.c:296
[ 34.888117] testsuite-29.sh[1383]: #2 0x7fdf9b2ad9e5 in bus_deserialize_and_dump_unit_file_changes ../src/shared/bus-unit-util.c:2688
[ 34.888434] testsuite-29.sh[1383]: #3 0x40bc27 in maybe_enable_disable ../src/portable/portablectl.c:582
[ 34.888693] testsuite-29.sh[1383]: #4 0x40ef56 in maybe_stop_disable ../src/portable/portablectl.c:810
[ 34.888990] testsuite-29.sh[1383]: #5 0x410bc2 in detach_image ../src/portable/portablectl.c:924
[ 34.889254] testsuite-29.sh[1383]: #6 0x7fdf9b5df424 in dispatch_verb ../src/shared/verbs.c:103
[ 34.889580] testsuite-29.sh[1383]: #7 0x41604a in run ../src/portable/portablectl.c:1427
[ 34.889877] testsuite-29.sh[1383]: #8 0x416106 in main ../src/portable/portablectl.c:1430
[ 34.890193] testsuite-29.sh[1383]: #9 0x7fdf99d5de8f in __libc_start_call_main (/lib64/libc.so.6+0x44e8f)
[ 34.890482] testsuite-29.sh[1383]: SUMMARY: AddressSanitizer: 154 byte(s) leaked in 6 allocation(s).
```
With 794da5a:
```
[ OK ] Started minimal-app0.service.
[ 36.794367] testsuite-29.sh[600]: + portablectl detach --now --runtime --enable /tmp/rootdir minimal-app0
Stopping minimal-app0-foo.service...
[ OK ] Stopped minimal-app0-foo.service.
Stopping minimal-app0.service...
[ OK ] Stopped minimal-app0.service.
[ 36.851251] testsuite-29.sh[600]: + umount /tmp/rootdir
```
2022-05-31 01:09:53 +09:00
Michal Sekletar
9e15be6c8d
tests: make sure we delay running mount start jobs when /p/s/mountinfo is rate limited
2022-05-30 14:50:05 +02:00
Yu Watanabe
1f97c2da0c
test: add test for bus introspection of portable1
...
Follow-up for #23454 .
2022-05-21 06:31:19 +09:00
Luca Boccassi
7b2e763242
portable: reject root directories without an ID field in os-release
...
We always require at least ID to be set in os-release, reject
and propagate error to the caller instead of asserting later
2022-05-20 13:08:45 +01:00
Zbigniew Jędrzejewski-Szmek
d7ff524039
tree-wide: drop manually-crafted message for missing variables
...
Bash will generate a very nice message for us:
/tmp/ff.sh: line 1: SOMEVAR: parameter null or not set
Let's save some keystrokes by not replacing this with our own inferior
messages.
2022-05-04 20:53:46 +09:00
Lennart Poettering
41be3b099f
Merge pull request #23170 from poettering/creds-copy
...
import system credentials from sd-stub + qemu fw_cfg + kernel cmdline explicitly in PID 1
2022-05-02 16:32:21 +02:00