diff options
author | Lennart Poettering <lennart@poettering.net> | 2020-06-05 15:56:11 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2020-06-05 15:56:32 +0200 |
commit | 42e57a4eb2b0e97a83d5ef5635ba4d4e1d75e216 (patch) | |
tree | d481259b0ab5dc30f2fd7c24884ae916d81e0264 /src/test | |
parent | 53c6db99fa4b52f97e19977f21d3133f8ceb3dcd (diff) | |
download | systemd-42e57a4eb2b0e97a83d5ef5635ba4d4e1d75e216.tar.gz |
test: add test for parse_uid_range()
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/test-user-util.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/test/test-user-util.c b/src/test/test-user-util.c index 905b0f475f..c9bff941be 100644 --- a/src/test/test-user-util.c +++ b/src/test/test-user-util.c @@ -419,6 +419,39 @@ static void test_gid_lists_ops(void) { assert_se(gids); } +static void test_parse_uid_range(void) { + uid_t a = 4711, b = 4711; + + log_info("/* %s */", __func__); + + assert_se(parse_uid_range("", &a, &b) == -EINVAL && a == 4711 && b == 4711); + assert_se(parse_uid_range(" ", &a, &b) == -EINVAL && a == 4711 && b == 4711); + assert_se(parse_uid_range("x", &a, &b) == -EINVAL && a == 4711 && b == 4711); + + assert_se(parse_uid_range("0", &a, &b) >= 0 && a == 0 && b == 0); + assert_se(parse_uid_range("1", &a, &b) >= 0 && a == 1 && b == 1); + assert_se(parse_uid_range("2-2", &a, &b) >= 0 && a == 2 && b == 2); + assert_se(parse_uid_range("3-3", &a, &b) >= 0 && a == 3 && b == 3); + assert_se(parse_uid_range("4-5", &a, &b) >= 0 && a == 4 && b == 5); + + assert_se(parse_uid_range("7-6", &a, &b) == -EINVAL && a == 4 && b == 5); + assert_se(parse_uid_range("-1", &a, &b) == -EINVAL && a == 4 && b == 5); + assert_se(parse_uid_range("01", &a, &b) == -EINVAL && a == 4 && b == 5); + assert_se(parse_uid_range("001", &a, &b) == -EINVAL && a == 4 && b == 5); + assert_se(parse_uid_range("+1", &a, &b) == -EINVAL && a == 4 && b == 5); + assert_se(parse_uid_range("1--1", &a, &b) == -EINVAL && a == 4 && b == 5); + assert_se(parse_uid_range(" 1", &a, &b) == -EINVAL && a == 4 && b == 5); + assert_se(parse_uid_range(" 1-2", &a, &b) == -EINVAL && a == 4 && b == 5); + assert_se(parse_uid_range("1 -2", &a, &b) == -EINVAL && a == 4 && b == 5); + assert_se(parse_uid_range("1- 2", &a, &b) == -EINVAL && a == 4 && b == 5); + assert_se(parse_uid_range("1-2 ", &a, &b) == -EINVAL && a == 4 && b == 5); + assert_se(parse_uid_range("01-2", &a, &b) == -EINVAL && a == 4 && b == 5); + assert_se(parse_uid_range("1-02", &a, &b) == -EINVAL && a == 4 && b == 5); + assert_se(parse_uid_range("001-2", &a, &b) == -EINVAL && a == 4 && b == 5); + assert_se(parse_uid_range("1-002", &a, &b) == -EINVAL && a == 4 && b == 5); + assert_se(parse_uid_range(" 01", &a, &b) == -EINVAL && a == 4 && b == 5); +} + int main(int argc, char *argv[]) { test_uid_to_name_one(0, "root"); test_uid_to_name_one(UID_NOBODY, NOBODY_USER_NAME); @@ -456,5 +489,7 @@ int main(int argc, char *argv[]) { test_in_gid(); test_gid_lists_ops(); + test_parse_uid_range(); + return 0; } |