• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

systemd / systemd / 14872145375

06 May 2025 09:07PM UTC coverage: 72.232% (+0.02%) from 72.214%
14872145375

push

github

DaanDeMeyer
string-table: annotate _to_string and _from_string with _const_ and _pure_, respectively

Follow-up for c94f6ab1b

297286 of 411572 relevant lines covered (72.23%)

695615.99 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

90.91
/src/test/test-dev-setup.c
1
/* SPDX-License-Identifier: LGPL-2.1-or-later */
2

3
#include "capability-util.h"
4
#include "dev-setup.h"
5
#include "fs-util.h"
6
#include "mkdir.h"
7
#include "path-util.h"
8
#include "rm-rf.h"
9
#include "tests.h"
10
#include "tmpfile-util.h"
11

12
int main(int argc, char *argv[]) {
1✔
13
        _cleanup_(rm_rf_physical_and_freep) char *p = NULL;
×
14
        _cleanup_free_ char *f = NULL;
1✔
15
        struct stat st;
1✔
16

17
        test_setup_logging(LOG_DEBUG);
1✔
18

19
        if (have_effective_cap(CAP_DAC_OVERRIDE) <= 0)
1✔
20
                return log_tests_skipped("missing capability (CAP_DAC_OVERRIDE)");
×
21

22
        ASSERT_OK(mkdtemp_malloc("/tmp/test-dev-setupXXXXXX", &p));
1✔
23

24
        f = ASSERT_NOT_NULL(path_join(p, "/run/systemd"));
1✔
25
        ASSERT_OK(mkdir_p(f, 0755));
1✔
26

27
        ASSERT_OK(make_inaccessible_nodes(f, 1, 1));
1✔
28
        ASSERT_OK(make_inaccessible_nodes(f, 1, 1)); /* 2nd call should be a clean NOP */
1✔
29

30
        free(f);
1✔
31
        f = ASSERT_NOT_NULL(path_join(p, "/run/systemd/inaccessible/reg"));
1✔
32
        ASSERT_OK_ERRNO(stat(f, &st));
1✔
33
        ASSERT_TRUE(S_ISREG(st.st_mode));
1✔
34
        ASSERT_EQ(st.st_mode & 07777, 0000U);
1✔
35

36
        free(f);
1✔
37
        f = ASSERT_NOT_NULL(path_join(p, "/run/systemd/inaccessible/dir"));
1✔
38
        ASSERT_OK_ERRNO(stat(f, &st));
1✔
39
        ASSERT_TRUE(S_ISDIR(st.st_mode));
1✔
40
        ASSERT_EQ(st.st_mode & 07777, 0000U);
1✔
41

42
        free(f);
1✔
43
        f = ASSERT_NOT_NULL(path_join(p, "/run/systemd/inaccessible/fifo"));
1✔
44
        ASSERT_OK_ERRNO(stat(f, &st));
1✔
45
        ASSERT_TRUE(S_ISFIFO(st.st_mode));
1✔
46
        ASSERT_EQ(st.st_mode & 07777, 0000U);
1✔
47

48
        free(f);
1✔
49
        f = ASSERT_NOT_NULL(path_join(p, "/run/systemd/inaccessible/sock"));
1✔
50
        ASSERT_OK_ERRNO(stat(f, &st));
1✔
51
        ASSERT_TRUE(S_ISSOCK(st.st_mode));
1✔
52
        ASSERT_EQ(st.st_mode & 07777, 0000U);
1✔
53

54
        free(f);
1✔
55
        f = ASSERT_NOT_NULL(path_join(p, "/run/systemd/inaccessible/chr"));
1✔
56
        if (stat(f, &st) < 0)
1✔
57
                ASSERT_EQ(errno, ENOENT);
×
58
        else {
59
                ASSERT_TRUE(S_ISCHR(st.st_mode));
1✔
60
                ASSERT_EQ(st.st_mode & 07777, 0000U);
1✔
61
        }
62

63
        free(f);
1✔
64
        f = ASSERT_NOT_NULL(path_join(p, "/run/systemd/inaccessible/blk"));
1✔
65
        if (stat(f, &st) < 0)
1✔
66
                ASSERT_EQ(errno, ENOENT);
×
67
        else {
68
                ASSERT_TRUE(S_ISBLK(st.st_mode));
1✔
69
                ASSERT_EQ(st.st_mode & 07777, 0000U);
1✔
70
        }
71

72
        return EXIT_SUCCESS;
73
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc