]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/test/test-parse-util.c
parse-util: introduce parse_dev() helper
[thirdparty/systemd.git] / src / test / test-parse-util.c
index d08014100b6dc847846f418fbc0eb8ae1c5591b1..099c8e88f58f6d2d24dd9703469baf6cfd61d3db 100644 (file)
@@ -526,6 +526,19 @@ static void test_parse_nice(void) {
         assert_se(parse_nice("+20", &n) == -ERANGE);
 }
 
+static void test_parse_dev(void) {
+        dev_t dev;
+
+        assert_se(parse_dev("0", &dev) == -EINVAL);
+        assert_se(parse_dev("5", &dev) == -EINVAL);
+        assert_se(parse_dev("5:", &dev) == -EINVAL);
+        assert_se(parse_dev(":5", &dev) == -EINVAL);
+#if SIZEOF_DEV_T < 8
+        assert_se(parse_dev("4294967295:4294967295", &dev) == -EINVAL);
+#endif
+        assert_se(parse_dev("8:11", &dev) >= 0 && major(dev) == 8 && minor(dev) == 11);
+}
+
 int main(int argc, char *argv[]) {
         log_parse_environment();
         log_open();
@@ -542,6 +555,7 @@ int main(int argc, char *argv[]) {
         test_parse_percent();
         test_parse_percent_unbounded();
         test_parse_nice();
+        test_parse_dev();
 
         return 0;
 }