]> git.ipfire.org Git - people/ric9/pakfire.git/commitdiff
tests/string.c: add test function for time formatting test-format_time
authorRico Hoppe <rico.hoppe@ipfire.org>
Fri, 7 Feb 2025 16:11:58 +0000 (16:11 +0000)
committerRico Hoppe <rico.hoppe@ipfire.org>
Fri, 7 Feb 2025 16:11:58 +0000 (16:11 +0000)
Signed-off-by: Rico Hoppe <rico.hoppe@ipfire.org>
tests/libpakfire/string.c

index a4a56ff450ea960a6c855463ddddd26b16a149e6..2255f770413472fc8465b445dce2025db4a4f8a0 100644 (file)
@@ -303,6 +303,35 @@ FAIL:
        return EXIT_FAILURE;
 }
 
+static int test_format_time(const struct test* t) {
+       char buffer[128];
+
+       // Values smaller than zero
+       ASSERT_SUCCESS(pakfire_format_time(buffer, -1));
+       ASSERT_STRING_EQUALS(buffer, NULL);
+
+       // Values greater than a day
+       ASSERT_SUCCESS(pakfire_format_time(buffer, 86400));
+       ASSERT_STRING_EQUALS(buffer, "1d0h0m");
+
+       // Values greater than an hour
+       ASSERT_SUCCESS(pakfire_format_time(buffer, 3600));
+       ASSERT_STRING_EQUALS(buffer, "1h0m0s");
+
+       // Values greater than a minute
+       ASSERT_SUCCESS(pakfire_format_time(buffer, 60));
+       ASSERT_STRING_EQUALS(buffer, "1m0s");
+
+       // Values below a minute
+       ASSERT_SUCCESS(pakfire_format_time(buffer, 1));
+       ASSERT_STRING_EQUALS(buffer, "1s");
+
+       return EXIT_SUCCESS;
+
+FAIL:
+       return EXIT_FAILURE;
+}
+
 static int test_parse_bytes(const struct test* t) {
        // Zero without unit
        ASSERT(pakfire_string_parse_bytes("0") == (size_t)0);
@@ -424,6 +453,7 @@ int main(int argc, const char* argv[]) {
        testsuite_add_test(test_string_join, 0);
        testsuite_add_test(test_format_size, 0);
        testsuite_add_test(test_format_speed, 0);
+       testsuite_add_test(test_format_time, 0);
        testsuite_add_test(test_parse_bytes, 0);
        testsuite_add_test(test_intervals, 0);
        testsuite_add_test(test_string_contains_whitespace, 0);