]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/libsystemd/sd-bus/test-bus-creds.c
license: LGPL-2.1+ -> LGPL-2.1-or-later
[thirdparty/systemd.git] / src / libsystemd / sd-bus / test-bus-creds.c
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2
3 #include "sd-bus.h"
4
5 #include "bus-dump.h"
6 #include "bus-util.h"
7 #include "cgroup-util.h"
8 #include "tests.h"
9
10 int main(int argc, char *argv[]) {
11 _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL;
12 int r;
13
14 test_setup_logging(LOG_DEBUG);
15
16 if (cg_unified() == -ENOMEDIUM)
17 return log_tests_skipped("/sys/fs/cgroup/ not available");
18
19 r = sd_bus_creds_new_from_pid(&creds, 0, _SD_BUS_CREDS_ALL);
20 log_full_errno(r < 0 ? LOG_ERR : LOG_DEBUG, r, "sd_bus_creds_new_from_pid: %m");
21 assert_se(r >= 0);
22
23 bus_creds_dump(creds, NULL, true);
24
25 creds = sd_bus_creds_unref(creds);
26
27 r = sd_bus_creds_new_from_pid(&creds, 1, _SD_BUS_CREDS_ALL);
28 if (r != -EACCES) {
29 assert_se(r >= 0);
30 putchar('\n');
31 bus_creds_dump(creds, NULL, true);
32 }
33
34 return 0;
35 }