summaryrefslogtreecommitdiff
path: root/src/test/test-user-util.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2020-06-01 17:48:41 +0200
committerLennart Poettering <lennart@poettering.net>2020-06-05 15:56:32 +0200
commit53c6db99fa4b52f97e19977f21d3133f8ceb3dcd (patch)
tree45fe4f6422865b32b07ddd10c17d11be35a81d86 /src/test/test-user-util.c
parentfc80cabcf584a8b486bdff5be0c074fec4059cdc (diff)
downloadsystemd-53c6db99fa4b52f97e19977f21d3133f8ceb3dcd.tar.gz
tests: beef up integer parsing tests
Diffstat (limited to 'src/test/test-user-util.c')
-rw-r--r--src/test/test-user-util.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/test/test-user-util.c b/src/test/test-user-util.c
index 7d2efc8c59..905b0f475f 100644
--- a/src/test/test-user-util.c
+++ b/src/test/test-user-util.c
@@ -42,6 +42,22 @@ static void test_parse_uid(void) {
log_info("/* %s */", __func__);
+ r = parse_uid("0", &uid);
+ assert_se(r == 0);
+ assert_se(uid == 0);
+
+ r = parse_uid("1", &uid);
+ assert_se(r == 0);
+ assert_se(uid == 1);
+
+ r = parse_uid("01", &uid);
+ assert_se(r == -EINVAL);
+ assert_se(uid == 1);
+
+ r = parse_uid("001", &uid);
+ assert_se(r == -EINVAL);
+ assert_se(uid == 1);
+
r = parse_uid("100", &uid);
assert_se(r == 0);
assert_se(uid == 100);
@@ -54,6 +70,14 @@ static void test_parse_uid(void) {
assert_se(r == -EINVAL);
assert_se(uid == 100);
+ r = parse_uid("0o1234", &uid);
+ assert_se(r == -EINVAL);
+ assert_se(uid == 100);
+
+ r = parse_uid("0b1234", &uid);
+ assert_se(r == -EINVAL);
+ assert_se(uid == 100);
+
r = parse_uid("+1234", &uid);
assert_se(r == -EINVAL);
assert_se(uid == 100);
@@ -70,6 +94,14 @@ static void test_parse_uid(void) {
assert_se(r == -EINVAL);
assert_se(uid == 100);
+ r = parse_uid("001234", &uid);
+ assert_se(r == -EINVAL);
+ assert_se(uid == 100);
+
+ r = parse_uid("0001234", &uid);
+ assert_se(r == -EINVAL);
+ assert_se(uid == 100);
+
r = parse_uid("-0", &uid);
assert_se(r == -EINVAL);
assert_se(uid == 100);
@@ -78,6 +110,14 @@ static void test_parse_uid(void) {
assert_se(r == -EINVAL);
assert_se(uid == 100);
+ r = parse_uid("00", &uid);
+ assert_se(r == -EINVAL);
+ assert_se(uid == 100);
+
+ r = parse_uid("000", &uid);
+ assert_se(r == -EINVAL);
+ assert_se(uid == 100);
+
r = parse_uid("asdsdas", &uid);
assert_se(r == -EINVAL);
assert_se(uid == 100);