]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/libsystemd/sd-bus/test-bus-creds.c
tests: add helper to unify skipping a test and exiting
[thirdparty/systemd.git] / src / libsystemd / sd-bus / test-bus-creds.c
CommitLineData
53e1b683 1/* SPDX-License-Identifier: LGPL-2.1+ */
5b12334d
LP
2
3#include "sd-bus.h"
cf0fbc49 4
5b12334d
LP
5#include "bus-dump.h"
6#include "bus-util.h"
3b3a64d7 7#include "cgroup-util.h"
317bb217 8#include "tests.h"
5b12334d
LP
9
10int main(int argc, char *argv[]) {
4afd3348 11 _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL;
5b12334d
LP
12 int r;
13
9aa8fa70
ZJS
14 log_set_max_level(LOG_DEBUG);
15 log_parse_environment();
16 log_open();
17
317bb217
ZJS
18 if (cg_unified_flush() == -ENOMEDIUM)
19 return log_tests_skipped("/sys/fs/cgroup/ not available");
3b3a64d7 20
151b9b96 21 r = sd_bus_creds_new_from_pid(&creds, 0, _SD_BUS_CREDS_ALL);
9aa8fa70 22 log_full_errno(r < 0 ? LOG_ERR : LOG_DEBUG, r, "sd_bus_creds_new_from_pid: %m");
5b12334d
LP
23 assert_se(r >= 0);
24
d0b2babf 25 bus_creds_dump(creds, NULL, true);
5b12334d
LP
26
27 creds = sd_bus_creds_unref(creds);
28
151b9b96 29 r = sd_bus_creds_new_from_pid(&creds, 1, _SD_BUS_CREDS_ALL);
5b12334d
LP
30 if (r != -EACCES) {
31 assert_se(r >= 0);
32 putchar('\n');
d0b2babf 33 bus_creds_dump(creds, NULL, true);
5b12334d
LP
34 }
35
36 return 0;
37}