]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/test/test-uid-range.c
109af249069493323aa887995d3a1bf88c58a54e
1 /* SPDX-License-Identifier: LGPL-2.1+ */
3 Copyright 2014 Lennart Poettering
8 #include "alloc-util.h"
10 #include "user-util.h"
13 int main(int argc
, char *argv
[]) {
14 _cleanup_free_ UidRange
*p
= NULL
;
18 assert_se(uid_range_add_str(&p
, &n
, "500-999") >= 0);
20 assert_se(p
[0].start
== 500);
21 assert_se(p
[0].nr
== 500);
23 assert_se(!uid_range_contains(p
, n
, 499));
24 assert_se(uid_range_contains(p
, n
, 500));
25 assert_se(uid_range_contains(p
, n
, 999));
26 assert_se(!uid_range_contains(p
, n
, 1000));
29 assert_se(uid_range_next_lower(p
, n
, &search
));
30 assert_se(search
== 999);
31 assert_se(uid_range_next_lower(p
, n
, &search
));
32 assert_se(search
== 998);
34 assert_se(uid_range_next_lower(p
, n
, &search
));
35 assert_se(search
== 500);
36 assert_se(uid_range_next_lower(p
, n
, &search
) == -EBUSY
);
38 assert_se(uid_range_add_str(&p
, &n
, "1000") >= 0);
40 assert_se(p
[0].start
== 500);
41 assert_se(p
[0].nr
== 501);
43 assert_se(uid_range_add_str(&p
, &n
, "30-40") >= 0);
45 assert_se(p
[0].start
== 30);
46 assert_se(p
[0].nr
== 11);
47 assert_se(p
[1].start
== 500);
48 assert_se(p
[1].nr
== 501);
50 assert_se(uid_range_add_str(&p
, &n
, "60-70") >= 0);
52 assert_se(p
[0].start
== 30);
53 assert_se(p
[0].nr
== 11);
54 assert_se(p
[1].start
== 60);
55 assert_se(p
[1].nr
== 11);
56 assert_se(p
[2].start
== 500);
57 assert_se(p
[2].nr
== 501);
59 assert_se(uid_range_add_str(&p
, &n
, "20-2000") >= 0);
61 assert_se(p
[0].start
== 20);
62 assert_se(p
[0].nr
== 1981);
64 assert_se(uid_range_add_str(&p
, &n
, "2002") >= 0);
66 assert_se(p
[0].start
== 20);
67 assert_se(p
[0].nr
== 1981);
68 assert_se(p
[1].start
== 2002);
69 assert_se(p
[1].nr
== 1);
71 assert_se(uid_range_add_str(&p
, &n
, "2001") >= 0);
73 assert_se(p
[0].start
== 20);
74 assert_se(p
[0].nr
== 1983);