From: Rico Hoppe Date: Mon, 20 Jan 2025 16:46:56 +0000 (+0000) Subject: tests/string.c: implemented a test for the pakfire_format_speed function X-Git-Tag: 0.9.30~393 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5283166014ad7593c696670a714c46813a68087f;p=pakfire.git tests/string.c: implemented a test for the pakfire_format_speed function Signed-off-by: Rico Hoppe --- diff --git a/tests/libpakfire/string.c b/tests/libpakfire/string.c index 56a093cf..a4a56ff4 100644 --- a/tests/libpakfire/string.c +++ b/tests/libpakfire/string.c @@ -278,6 +278,31 @@ FAIL: return EXIT_FAILURE; } +static int test_format_speed(const struct test* t) { + char buffer[128]; + char small_buffer[2]; + int r; + + ASSERT_SUCCESS(pakfire_format_speed(buffer, 0)); + ASSERT_STRING_EQUALS(buffer, " 0B/s"); + + ASSERT_SUCCESS(pakfire_format_speed(buffer, 1024)); + ASSERT_STRING_EQUALS(buffer, " 1kB/s"); + + ASSERT_SUCCESS(pakfire_format_speed(buffer, 1536)); + ASSERT_STRING_EQUALS(buffer, " 2kB/s"); + + ASSERT_SUCCESS(pakfire_format_speed(buffer, 1024 * 1024) ); + ASSERT_STRING_EQUALS(buffer, " 1.0MB/s"); + + ASSERT_ERROR(pakfire_format_speed(small_buffer, 0), ENOBUFS); + + 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); @@ -398,6 +423,7 @@ int main(int argc, const char* argv[]) { testsuite_add_test(test_string_replace, 0); 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_parse_bytes, 0); testsuite_add_test(test_intervals, 0); testsuite_add_test(test_string_contains_whitespace, 0);