]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/test/test-uid-range.c
1 /* SPDX-License-Identifier: LGPL-2.1+ */
5 #include "alloc-util.h"
10 int main(int argc
, char *argv
[]) {
11 _cleanup_free_ UidRange
*p
= NULL
;
15 assert_se(uid_range_add_str(&p
, &n
, "500-999") >= 0);
17 assert_se(p
[0].start
== 500);
18 assert_se(p
[0].nr
== 500);
20 assert_se(!uid_range_contains(p
, n
, 499));
21 assert_se(uid_range_contains(p
, n
, 500));
22 assert_se(uid_range_contains(p
, n
, 999));
23 assert_se(!uid_range_contains(p
, n
, 1000));
26 assert_se(uid_range_next_lower(p
, n
, &search
));
27 assert_se(search
== 999);
28 assert_se(uid_range_next_lower(p
, n
, &search
));
29 assert_se(search
== 998);
31 assert_se(uid_range_next_lower(p
, n
, &search
));
32 assert_se(search
== 500);
33 assert_se(uid_range_next_lower(p
, n
, &search
) == -EBUSY
);
35 assert_se(uid_range_add_str(&p
, &n
, "1000") >= 0);
37 assert_se(p
[0].start
== 500);
38 assert_se(p
[0].nr
== 501);
40 assert_se(uid_range_add_str(&p
, &n
, "30-40") >= 0);
42 assert_se(p
[0].start
== 30);
43 assert_se(p
[0].nr
== 11);
44 assert_se(p
[1].start
== 500);
45 assert_se(p
[1].nr
== 501);
47 assert_se(uid_range_add_str(&p
, &n
, "60-70") >= 0);
49 assert_se(p
[0].start
== 30);
50 assert_se(p
[0].nr
== 11);
51 assert_se(p
[1].start
== 60);
52 assert_se(p
[1].nr
== 11);
53 assert_se(p
[2].start
== 500);
54 assert_se(p
[2].nr
== 501);
56 assert_se(uid_range_add_str(&p
, &n
, "20-2000") >= 0);
58 assert_se(p
[0].start
== 20);
59 assert_se(p
[0].nr
== 1981);
61 assert_se(uid_range_add_str(&p
, &n
, "2002") >= 0);
63 assert_se(p
[0].start
== 20);
64 assert_se(p
[0].nr
== 1981);
65 assert_se(p
[1].start
== 2002);
66 assert_se(p
[1].nr
== 1);
68 assert_se(uid_range_add_str(&p
, &n
, "2001") >= 0);
70 assert_se(p
[0].start
== 20);
71 assert_se(p
[0].nr
== 1983);