dbus/test
Simon McVittie c8dd76206b test: Skip tests that involve switching uid if unable to do so
In a Linux user namespace, it is possible that we are uid 0 but are
unable to switch to some other uid like DBUS_USER or DBUS_TEST_USER,
because the other uid is not "mapped" in the user namespace, resulting
in setuid() or setresuid() failing with EINVAL "Invalid argument".
For example, it's easy for this to happen when running under the
bubblewrap tool.

Try to drop privileges in a child process, and skip the test if we
are unable to do so.

Resolves: dbus#407
Signed-off-by: Simon McVittie <smcv@collabora.com>
(cherry picked from commit 8b08dd3264)
Backported-from: dbus!330
2022-09-13 12:26:24 +01:00
..
bus bus tests: Shut down audit socket 2019-07-03 11:11:23 +01:00
data Disable the Containers interface 2021-12-10 16:48:51 +00:00
integration tests: Ensure session bus has started before integration test 2022-02-21 18:09:22 +00:00
internals desktop-file test: Free result on all code paths 2020-04-27 12:39:35 +00:00
name-test Apply cmake formatting rules 2021-10-25 15:56:46 +02:00
.gitignore .gitignore: Ignore many more generated files 2018-12-14 13:28:50 +00:00
CMakeLists.txt cmake: add option ENABLE_VERBOSE_CONFIG 2021-12-10 14:16:52 +00:00
containers.c Disable the Containers interface 2021-12-10 16:48:51 +00:00
corrupt.c tests: Detach most connections from main loop before closing 2018-08-02 17:16:43 +01:00
dbus-daemon-eavesdrop.c tests: Detach most connections from main loop before closing 2018-08-02 17:16:43 +01:00
dbus-daemon.c Disable the Containers interface 2021-12-10 16:48:51 +00:00
dbus-test-runner Add support for installing most of the modular tests 2011-06-10 18:32:35 +01:00
disable-crash-handling.c Move _dbus_disable_crash_handling() back into test/ directory 2018-12-11 12:47:22 +00:00
disable-crash-handling.h Move _dbus_disable_crash_handling() back into test/ directory 2018-12-11 12:47:22 +00:00
fdpass.c fdpass test: Assert that we don't leak file descriptors 2020-06-02 10:42:54 +01:00
glib-tap-test.sh When running TAP tests, filter out trailing \r from Windows .exe 2015-10-29 05:50:27 +01:00
header-fields.c tests: Call dbus_shutdown() 2018-08-02 17:14:39 +01:00
loopback.c tests: Detach most connections from main loop before closing 2018-08-02 17:16:43 +01:00
Makefile.am test: Replace _dbus_assert_not_reached() 2020-04-20 10:13:07 +01:00
manual-authz.c tests: reassure clang that oom() does in fact not return 2015-02-24 11:14:02 +00:00
manual-backtrace.c manual-backtrace: use proper prototypes, and make functions static 2015-11-17 15:32:43 +00:00
manual-dir-iter.c test: Add a missing OOM path in manual-dir-iter test 2017-02-14 17:45:08 +00:00
manual-paths.c test: Replace _dbus_assert_not_reached() 2020-04-20 10:13:07 +01:00
manual-tcp.c Add manual tcp test case. 2015-01-30 09:33:40 +01:00
marshal.c test/marshal: Don't leak a message and its marshalled buffer 2018-08-02 17:16:14 +01:00
message.c tests: Call dbus_shutdown() 2018-08-02 17:14:39 +01:00
monitor.c tests: Detach most connections from main loop before closing 2018-08-02 17:16:43 +01:00
relay.c tests: Call dbus_shutdown() 2018-08-02 17:14:39 +01:00
sd-activation.c test: activation tests for send_destination_prefix 2019-05-14 10:31:13 +02:00
shell-test.c shell-test: Print diagnostics to stderr 2020-04-28 11:50:23 +01:00
spawn-test.c tests: Call dbus_shutdown() 2018-08-02 17:14:39 +01:00
syntax.c tests: Call dbus_shutdown() 2018-08-02 17:14:39 +01:00
tap-test.sh.in Run most tests under the TAP driver, with a simple adaptor for non-TAP tests 2015-04-16 13:06:29 +01:00
test-apparmor-activation.sh Add an integration test for AppArmor mediating activation 2016-11-28 12:11:52 +00:00
test-dbus-daemon-fork.sh test-dbus-daemon-fork: exercise closed stdin, stdout, stderr 2016-08-12 18:21:36 +01:00
test-dbus-launch-eval.sh tests: Don't exercise GetMachineId() or autolaunch if no machine ID 2017-06-08 18:30:39 +01:00
test-dbus-launch-x11.sh tests: Don't exercise GetMachineId() or autolaunch if no machine ID 2017-06-08 18:30:39 +01:00
test-exit.c Include config.h as the first thing in every .c file 2013-02-22 13:08:27 +00:00
test-names.c tests: Call dbus_shutdown() 2018-08-02 17:14:39 +01:00
test-privserver.c test-privserver: Move helper executable out of name-test/ 2018-12-13 13:08:00 +00:00
test-segfault.c Move _dbus_disable_crash_handling() back into test/ directory 2018-12-11 12:47:22 +00:00
test-service.c test: Replace _dbus_assert_not_reached() 2020-04-20 10:13:07 +01:00
test-shell-service.c test-utils: Separate failable and non-failable functions 2017-12-04 11:52:52 +00:00
test-sleep-forever.c fix warning, use Sleep, not _sleep on windows (cherry picked from commit ea36c743ad60a2dd5c6286571d1a475903519809) 2009-11-30 12:00:14 +01:00
test-utils-glib.c test: Skip tests that involve switching uid if unable to do so 2022-09-13 12:26:24 +01:00
test-utils-glib.h tests: Skip system bus test if we are root but messagebus does not exist 2019-07-03 11:11:23 +01:00
test-utils.c test-utils: Don't assume all arrays of tests are zero-terminated 2021-12-15 17:47:32 +00:00
test-utils.h test: Move TAP helpers into dbus-testutils if embedded tests are disabled 2020-04-20 10:13:04 +01:00
thread-blocking.c test/thread-blocking.c: Fix a memory leak 2021-10-29 18:03:13 +00:00
uid-permissions.c tests: Detach most connections from main loop before closing 2018-08-02 17:16:43 +01:00