]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
basic/rlimit-util.c: drop duplicate checks 38063/head
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 4 Jul 2025 08:48:14 +0000 (10:48 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 4 Jul 2025 10:11:00 +0000 (12:11 +0200)
parse_sec() and parse_time() already handle "infinity".
TEST(rlimit_parse_format) covered the first case, also extend it to cover
the second case.

src/basic/rlimit-util.c
src/test/test-rlimit-util.c

index dd4cf3e8a6eed81378a46f4b1e444d775218d25e..8a26feb03da1d7a2291a84834aad990a0a57b838 100644 (file)
@@ -131,11 +131,6 @@ static int rlimit_parse_sec(const char *val, rlim_t *ret) {
         assert(val);
         assert(ret);
 
-        if (streq(val, "infinity")) {
-                *ret = RLIM_INFINITY;
-                return 0;
-        }
-
         r = parse_sec(val, &t);
         if (r < 0)
                 return r;
@@ -159,11 +154,6 @@ static int rlimit_parse_usec(const char *val, rlim_t *ret) {
         assert(val);
         assert(ret);
 
-        if (streq(val, "infinity")) {
-                *ret = RLIM_INFINITY;
-                return 0;
-        }
-
         r = parse_time(val, &t, 1);
         if (r < 0)
                 return r;
index 6e8ffec628104bf8e180ea07b7c403f6ea20c3bc..2d5d5d4d486f8050eb0950dfef068ce9baf3fd67 100644 (file)
@@ -29,14 +29,14 @@ static void test_rlimit_parse_format_one(int resource, const char *string, rlim_
         if (ret < 0)
                 return;
 
-        assert_se(rl.rlim_cur == soft);
-        assert_se(rl.rlim_max == hard);
+        ASSERT_EQ(rl.rlim_cur, soft);
+        ASSERT_EQ(rl.rlim_max, hard);
 
-        assert_se(rlimit_format(&rl, &f) >= 0);
+        ASSERT_OK(rlimit_format(&rl, &f));
         ASSERT_STREQ(formatted, f);
 
-        assert_se(rlimit_parse(resource, formatted, &rl2) >= 0);
-        assert_se(memcmp(&rl, &rl2, sizeof(struct rlimit)) == 0);
+        ASSERT_OK(rlimit_parse(resource, formatted, &rl2));
+        ASSERT_EQ(memcmp(&rl, &rl2, sizeof(struct rlimit)), 0);
 }
 
 TEST(rlimit_parse_format) {
@@ -61,6 +61,9 @@ TEST(rlimit_parse_format) {
         test_rlimit_parse_format_one(RLIMIT_NICE, "+19", 1, 1, 0, "1");
         test_rlimit_parse_format_one(RLIMIT_NICE, "+20", 0, 0, -ERANGE, "0");
         test_rlimit_parse_format_one(RLIMIT_NICE, "+0", 20, 20, 0, "20");
+        test_rlimit_parse_format_one(RLIMIT_NICE, "+0", 20, 20, 0, "20");
+        test_rlimit_parse_format_one(RLIMIT_RTTIME, "25min:13h", 25*USEC_PER_MINUTE, 13*USEC_PER_HOUR, 0, "1500000000:46800000000");
+        test_rlimit_parse_format_one(RLIMIT_RTTIME, "infinity", RLIM_INFINITY, RLIM_INFINITY, 0, "infinity");
 }
 
 TEST(rlimit_from_string) {