test/hotspot/gtest/utilities/test_globalDefinitions.cpp
changeset 53386 d5f6540c6bb1
parent 53375 ae4295a6a01e
child 57875 427b38332f20
--- a/test/hotspot/gtest/utilities/test_globalDefinitions.cpp	Fri Jan 18 16:40:24 2019 +0100
+++ b/test/hotspot/gtest/utilities/test_globalDefinitions.cpp	Fri Jan 18 17:05:41 2019 +0100
@@ -93,6 +93,61 @@
   }
 }
 
+TEST(globalDefinitions, proper_unit) {
+  EXPECT_EQ(0u,     byte_size_in_proper_unit(0u));
+  EXPECT_STREQ("B", proper_unit_for_byte_size(0u));
+
+  EXPECT_EQ(1u,     byte_size_in_proper_unit(1u));
+  EXPECT_STREQ("B", proper_unit_for_byte_size(1u));
+
+  EXPECT_EQ(1023u,  byte_size_in_proper_unit(K - 1));
+  EXPECT_STREQ("B", proper_unit_for_byte_size(K - 1));
+
+  EXPECT_EQ(1024u,  byte_size_in_proper_unit(K));
+  EXPECT_STREQ("B", proper_unit_for_byte_size(K));
+
+  EXPECT_EQ(1025u,  byte_size_in_proper_unit(K + 1));
+  EXPECT_STREQ("B", proper_unit_for_byte_size(K + 1));
+
+  EXPECT_EQ(51200u, byte_size_in_proper_unit(50*K));
+  EXPECT_STREQ("B", proper_unit_for_byte_size(50*K));
+
+  EXPECT_EQ(1023u,  byte_size_in_proper_unit(M - 1));
+  EXPECT_STREQ("K", proper_unit_for_byte_size(M - 1));
+
+  EXPECT_EQ(1024u,  byte_size_in_proper_unit(M));
+  EXPECT_STREQ("K", proper_unit_for_byte_size(M));
+
+  EXPECT_EQ(1024u,  byte_size_in_proper_unit(M + 1));
+  EXPECT_STREQ("K", proper_unit_for_byte_size(M + 1));
+
+  EXPECT_EQ(1025u,  byte_size_in_proper_unit(M + K));
+  EXPECT_STREQ("K", proper_unit_for_byte_size(M + K));
+
+  EXPECT_EQ(51200u, byte_size_in_proper_unit(50*M));
+  EXPECT_STREQ("K", proper_unit_for_byte_size(50*M));
+
+#ifdef _LP64
+  EXPECT_EQ(1023u,  byte_size_in_proper_unit(G - 1));
+  EXPECT_STREQ("M", proper_unit_for_byte_size(G - 1));
+
+  EXPECT_EQ(1024u,  byte_size_in_proper_unit(G));
+  EXPECT_STREQ("M", proper_unit_for_byte_size(G));
+
+  EXPECT_EQ(1024u,  byte_size_in_proper_unit(G + 1));
+  EXPECT_STREQ("M", proper_unit_for_byte_size(G + 1));
+
+  EXPECT_EQ(1024u,  byte_size_in_proper_unit(G + K));
+  EXPECT_STREQ("M", proper_unit_for_byte_size(G + K));
+
+  EXPECT_EQ(1025u,  byte_size_in_proper_unit(G + M));
+  EXPECT_STREQ("M", proper_unit_for_byte_size(G + M));
+
+  EXPECT_EQ(51200u, byte_size_in_proper_unit(50*G));
+  EXPECT_STREQ("M", proper_unit_for_byte_size(50*G));
+#endif
+}
+
 TEST(globalDefinitions, exact_unit_for_byte_size) {
   EXPECT_STREQ("B", exact_unit_for_byte_size(0));
   EXPECT_STREQ("B", exact_unit_for_byte_size(1));