]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
Make Util::format_human_readable_size format kB
authorJoel Rosdahl <joel@rosdahl.net>
Thu, 27 Aug 2020 07:22:50 +0000 (09:22 +0200)
committerJoel Rosdahl <joel@rosdahl.net>
Thu, 27 Aug 2020 19:20:26 +0000 (21:20 +0200)
src/Util.cpp
unittest/test_Util.cpp

index ed49fb31e3a68b961884697f9c6f1d7af763e67f..15cb20cff9dcc9a51a6207940d9312dc790a4757 100644 (file)
@@ -533,8 +533,10 @@ format_human_readable_size(uint64_t size)
 {
   if (size >= 1000 * 1000 * 1000) {
     return fmt::format("{:.1f} GB", size / ((double)(1000 * 1000 * 1000)));
-  } else {
+  } else if (size >= 1000 * 1000) {
     return fmt::format("{:.1f} MB", size / ((double)(1000 * 1000)));
+  } else {
+    return fmt::format("{:.1f} kB", size / 1000.0);
   }
 }
 
index fedce207f8c5fdb8a3e281a637c3a7d4696d59a0..d89dd8f77ee0cef9088b0ee33a4890a4e6a94447 100644 (file)
@@ -254,9 +254,13 @@ TEST_CASE("Util::format_hex")
 
 TEST_CASE("Util::format_human_readable_size")
 {
-  CHECK(Util::format_human_readable_size(0) == "0.0 MB");
-  CHECK(Util::format_human_readable_size(49) == "0.0 MB");
-  CHECK(Util::format_human_readable_size(420 * 1000) == "0.4 MB");
+  CHECK(Util::format_human_readable_size(0) == "0.0 kB");
+  CHECK(Util::format_human_readable_size(1) == "0.0 kB");
+  CHECK(Util::format_human_readable_size(49) == "0.0 kB");
+  CHECK(Util::format_human_readable_size(51) == "0.1 kB");
+  CHECK(Util::format_human_readable_size(949) == "0.9 kB");
+  CHECK(Util::format_human_readable_size(951) == "1.0 kB");
+  CHECK(Util::format_human_readable_size(499.7 * 1000) == "499.7 kB");
   CHECK(Util::format_human_readable_size(1000 * 1000) == "1.0 MB");
   CHECK(Util::format_human_readable_size(1234 * 1000) == "1.2 MB");
   CHECK(Util::format_human_readable_size(438.5 * 1000 * 1000) == "438.5 MB");