[libc-commits] [libc] 5dd8553 - [libc] Support StringView equality tests

Michael Jones via libc-commits libc-commits at lists.llvm.org
Wed Aug 10 11:23:58 PDT 2022


Author: Michael Jones
Date: 2022-08-10T11:23:53-07:00
New Revision: 5dd8553423904905bd8751555ef845a28ac43c0f

URL: https://github.com/llvm/llvm-project/commit/5dd8553423904905bd8751555ef845a28ac43c0f
DIFF: https://github.com/llvm/llvm-project/commit/5dd8553423904905bd8751555ef845a28ac43c0f.diff

LOG: [libc] Support StringView equality tests

Previously, the integer_to_string tests used EXPECT_TRUE(.equals)
which doesn't have useful error messages. Now they properly check
equality with the EXPECT_EQ macro, which allows for comparing the
strings more naturally.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D131300

Added: 
    

Modified: 
    libc/test/src/__support/integer_to_string_test.cpp
    libc/utils/UnitTest/LibcTest.cpp
    libc/utils/UnitTest/LibcTest.h

Removed: 
    


################################################################################
diff  --git a/libc/test/src/__support/integer_to_string_test.cpp b/libc/test/src/__support/integer_to_string_test.cpp
index d328bf378ac35..77123ff83e419 100644
--- a/libc/test/src/__support/integer_to_string_test.cpp
+++ b/libc/test/src/__support/integer_to_string_test.cpp
@@ -17,235 +17,169 @@ using __llvm_libc::integer_to_string;
 using __llvm_libc::cpp::StringView;
 
 TEST(LlvmLibcIntegerToStringTest, UINT8) {
-  EXPECT_TRUE(integer_to_string(uint8_t(0)).str().equals(StringView("0")));
-  EXPECT_TRUE(integer_to_string(uint8_t(1)).str().equals(StringView("1")));
-  EXPECT_TRUE(integer_to_string(uint8_t(12)).str().equals(StringView("12")));
-  EXPECT_TRUE(integer_to_string(uint8_t(123)).str().equals(StringView("123")));
-  EXPECT_TRUE(
-      integer_to_string(uint8_t(UINT8_MAX)).str().equals(StringView("255")));
-  EXPECT_TRUE(integer_to_string(uint8_t(-1)).str().equals(StringView("255")));
+  EXPECT_EQ(integer_to_string(uint8_t(0)).str(), (StringView("0")));
+  EXPECT_EQ(integer_to_string(uint8_t(1)).str(), (StringView("1")));
+  EXPECT_EQ(integer_to_string(uint8_t(12)).str(), (StringView("12")));
+  EXPECT_EQ(integer_to_string(uint8_t(123)).str(), (StringView("123")));
+  EXPECT_EQ(integer_to_string(uint8_t(UINT8_MAX)).str(), (StringView("255")));
+  EXPECT_EQ(integer_to_string(uint8_t(-1)).str(), (StringView("255")));
 }
 
 TEST(LlvmLibcIntegerToStringTest, INT8) {
-  EXPECT_TRUE(integer_to_string(int8_t(0)).str().equals(StringView("0")));
-  EXPECT_TRUE(integer_to_string(int8_t(1)).str().equals(StringView("1")));
-  EXPECT_TRUE(integer_to_string(int8_t(12)).str().equals(StringView("12")));
-  EXPECT_TRUE(integer_to_string(int8_t(123)).str().equals(StringView("123")));
-  EXPECT_TRUE(integer_to_string(int8_t(-12)).str().equals(StringView("-12")));
-  EXPECT_TRUE(integer_to_string(int8_t(-123)).str().equals(StringView("-123")));
-  EXPECT_TRUE(
-      integer_to_string(int8_t(INT8_MAX)).str().equals(StringView("127")));
-  EXPECT_TRUE(
-      integer_to_string(int8_t(INT8_MIN)).str().equals(StringView("-128")));
+  EXPECT_EQ(integer_to_string(int8_t(0)).str(), (StringView("0")));
+  EXPECT_EQ(integer_to_string(int8_t(1)).str(), (StringView("1")));
+  EXPECT_EQ(integer_to_string(int8_t(12)).str(), (StringView("12")));
+  EXPECT_EQ(integer_to_string(int8_t(123)).str(), (StringView("123")));
+  EXPECT_EQ(integer_to_string(int8_t(-12)).str(), (StringView("-12")));
+  EXPECT_EQ(integer_to_string(int8_t(-123)).str(), (StringView("-123")));
+  EXPECT_EQ(integer_to_string(int8_t(INT8_MAX)).str(), (StringView("127")));
+  EXPECT_EQ(integer_to_string(int8_t(INT8_MIN)).str(), (StringView("-128")));
 }
 
 TEST(LlvmLibcIntegerToStringTest, UINT16) {
-  EXPECT_TRUE(integer_to_string(uint16_t(0)).str().equals(StringView("0")));
-  EXPECT_TRUE(integer_to_string(uint16_t(1)).str().equals(StringView("1")));
-  EXPECT_TRUE(integer_to_string(uint16_t(12)).str().equals(StringView("12")));
-  EXPECT_TRUE(integer_to_string(uint16_t(123)).str().equals(StringView("123")));
-  EXPECT_TRUE(
-      integer_to_string(uint16_t(1234)).str().equals(StringView("1234")));
-  EXPECT_TRUE(
-      integer_to_string(uint16_t(12345)).str().equals(StringView("12345")));
-  EXPECT_TRUE(integer_to_string(uint16_t(UINT16_MAX))
-                  .str()
-                  .equals(StringView("65535")));
-  EXPECT_TRUE(
-      integer_to_string(uint16_t(-1)).str().equals(StringView("65535")));
+  EXPECT_EQ(integer_to_string(uint16_t(0)).str(), (StringView("0")));
+  EXPECT_EQ(integer_to_string(uint16_t(1)).str(), (StringView("1")));
+  EXPECT_EQ(integer_to_string(uint16_t(12)).str(), (StringView("12")));
+  EXPECT_EQ(integer_to_string(uint16_t(123)).str(), (StringView("123")));
+  EXPECT_EQ(integer_to_string(uint16_t(1234)).str(), (StringView("1234")));
+  EXPECT_EQ(integer_to_string(uint16_t(12345)).str(), (StringView("12345")));
+  EXPECT_EQ(integer_to_string(uint16_t(UINT16_MAX)).str(),
+            (StringView("65535")));
+  EXPECT_EQ(integer_to_string(uint16_t(-1)).str(), (StringView("65535")));
 }
 
 TEST(LlvmLibcIntegerToStringTest, INT16) {
-  EXPECT_TRUE(integer_to_string(int16_t(0)).str().equals(StringView("0")));
-  EXPECT_TRUE(integer_to_string(int16_t(1)).str().equals(StringView("1")));
-  EXPECT_TRUE(integer_to_string(int16_t(12)).str().equals(StringView("12")));
-  EXPECT_TRUE(integer_to_string(int16_t(123)).str().equals(StringView("123")));
-  EXPECT_TRUE(
-      integer_to_string(int16_t(1234)).str().equals(StringView("1234")));
-  EXPECT_TRUE(
-      integer_to_string(int16_t(12345)).str().equals(StringView("12345")));
-  EXPECT_TRUE(integer_to_string(int16_t(-1)).str().equals(StringView("-1")));
-  EXPECT_TRUE(integer_to_string(int16_t(-12)).str().equals(StringView("-12")));
-  EXPECT_TRUE(
-      integer_to_string(int16_t(-123)).str().equals(StringView("-123")));
-  EXPECT_TRUE(
-      integer_to_string(int16_t(-1234)).str().equals(StringView("-1234")));
-  EXPECT_TRUE(
-      integer_to_string(int16_t(-12345)).str().equals(StringView("-12345")));
-  EXPECT_TRUE(
-      integer_to_string(int16_t(INT16_MAX)).str().equals(StringView("32767")));
-  EXPECT_TRUE(
-      integer_to_string(int16_t(INT16_MIN)).str().equals(StringView("-32768")));
+  EXPECT_EQ(integer_to_string(int16_t(0)).str(), (StringView("0")));
+  EXPECT_EQ(integer_to_string(int16_t(1)).str(), (StringView("1")));
+  EXPECT_EQ(integer_to_string(int16_t(12)).str(), (StringView("12")));
+  EXPECT_EQ(integer_to_string(int16_t(123)).str(), (StringView("123")));
+  EXPECT_EQ(integer_to_string(int16_t(1234)).str(), (StringView("1234")));
+  EXPECT_EQ(integer_to_string(int16_t(12345)).str(), (StringView("12345")));
+  EXPECT_EQ(integer_to_string(int16_t(-1)).str(), (StringView("-1")));
+  EXPECT_EQ(integer_to_string(int16_t(-12)).str(), (StringView("-12")));
+  EXPECT_EQ(integer_to_string(int16_t(-123)).str(), (StringView("-123")));
+  EXPECT_EQ(integer_to_string(int16_t(-1234)).str(), (StringView("-1234")));
+  EXPECT_EQ(integer_to_string(int16_t(-12345)).str(), (StringView("-12345")));
+  EXPECT_EQ(integer_to_string(int16_t(INT16_MAX)).str(), (StringView("32767")));
+  EXPECT_EQ(integer_to_string(int16_t(INT16_MIN)).str(),
+            (StringView("-32768")));
 }
 
 TEST(LlvmLibcIntegerToStringTest, UINT32) {
-  EXPECT_TRUE(integer_to_string(uint32_t(0)).str().equals(StringView("0")));
-  EXPECT_TRUE(integer_to_string(uint32_t(1)).str().equals(StringView("1")));
-  EXPECT_TRUE(integer_to_string(uint32_t(12)).str().equals(StringView("12")));
-  EXPECT_TRUE(integer_to_string(uint32_t(123)).str().equals(StringView("123")));
-  EXPECT_TRUE(
-      integer_to_string(uint32_t(1234)).str().equals(StringView("1234")));
-  EXPECT_TRUE(
-      integer_to_string(uint32_t(12345)).str().equals(StringView("12345")));
-  EXPECT_TRUE(
-      integer_to_string(uint32_t(123456)).str().equals(StringView("123456")));
-  EXPECT_TRUE(
-      integer_to_string(uint32_t(1234567)).str().equals(StringView("1234567")));
-  EXPECT_TRUE(integer_to_string(uint32_t(12345678))
-                  .str()
-                  .equals(StringView("12345678")));
-  EXPECT_TRUE(integer_to_string(uint32_t(123456789))
-                  .str()
-                  .equals(StringView("123456789")));
-  EXPECT_TRUE(integer_to_string(uint32_t(1234567890))
-                  .str()
-                  .equals(StringView("1234567890")));
-  EXPECT_TRUE(integer_to_string(uint32_t(UINT32_MAX))
-                  .str()
-                  .equals(StringView("4294967295")));
-  EXPECT_TRUE(
-      integer_to_string(uint32_t(-1)).str().equals(StringView("4294967295")));
+  EXPECT_EQ(integer_to_string(uint32_t(0)).str(), (StringView("0")));
+  EXPECT_EQ(integer_to_string(uint32_t(1)).str(), (StringView("1")));
+  EXPECT_EQ(integer_to_string(uint32_t(12)).str(), (StringView("12")));
+  EXPECT_EQ(integer_to_string(uint32_t(123)).str(), (StringView("123")));
+  EXPECT_EQ(integer_to_string(uint32_t(1234)).str(), (StringView("1234")));
+  EXPECT_EQ(integer_to_string(uint32_t(12345)).str(), (StringView("12345")));
+  EXPECT_EQ(integer_to_string(uint32_t(123456)).str(), (StringView("123456")));
+  EXPECT_EQ(integer_to_string(uint32_t(1234567)).str(),
+            (StringView("1234567")));
+  EXPECT_EQ(integer_to_string(uint32_t(12345678)).str(),
+            (StringView("12345678")));
+  EXPECT_EQ(integer_to_string(uint32_t(123456789)).str(),
+            (StringView("123456789")));
+  EXPECT_EQ(integer_to_string(uint32_t(1234567890)).str(),
+            (StringView("1234567890")));
+  EXPECT_EQ(integer_to_string(uint32_t(UINT32_MAX)).str(),
+            (StringView("4294967295")));
+  EXPECT_EQ(integer_to_string(uint32_t(-1)).str(), (StringView("4294967295")));
 }
 
 TEST(LlvmLibcIntegerToStringTest, INT32) {
-  EXPECT_TRUE(integer_to_string(int32_t(0)).str().equals(StringView("0")));
-  EXPECT_TRUE(integer_to_string(int32_t(1)).str().equals(StringView("1")));
-  EXPECT_TRUE(integer_to_string(int32_t(12)).str().equals(StringView("12")));
-  EXPECT_TRUE(integer_to_string(int32_t(123)).str().equals(StringView("123")));
-  EXPECT_TRUE(
-      integer_to_string(int32_t(1234)).str().equals(StringView("1234")));
-  EXPECT_TRUE(
-      integer_to_string(int32_t(12345)).str().equals(StringView("12345")));
-  EXPECT_TRUE(
-      integer_to_string(int32_t(123456)).str().equals(StringView("123456")));
-  EXPECT_TRUE(
-      integer_to_string(int32_t(1234567)).str().equals(StringView("1234567")));
-  EXPECT_TRUE(integer_to_string(int32_t(12345678))
-                  .str()
-                  .equals(StringView("12345678")));
-  EXPECT_TRUE(integer_to_string(int32_t(123456789))
-                  .str()
-                  .equals(StringView("123456789")));
-  EXPECT_TRUE(integer_to_string(int32_t(1234567890))
-                  .str()
-                  .equals(StringView("1234567890")));
-  EXPECT_TRUE(integer_to_string(int32_t(-1)).str().equals(StringView("-1")));
-  EXPECT_TRUE(integer_to_string(int32_t(-12)).str().equals(StringView("-12")));
-  EXPECT_TRUE(
-      integer_to_string(int32_t(-123)).str().equals(StringView("-123")));
-  EXPECT_TRUE(
-      integer_to_string(int32_t(-1234)).str().equals(StringView("-1234")));
-  EXPECT_TRUE(
-      integer_to_string(int32_t(-12345)).str().equals(StringView("-12345")));
-  EXPECT_TRUE(
-      integer_to_string(int32_t(-123456)).str().equals(StringView("-123456")));
-  EXPECT_TRUE(integer_to_string(int32_t(-1234567))
-                  .str()
-                  .equals(StringView("-1234567")));
-  EXPECT_TRUE(integer_to_string(int32_t(-12345678))
-                  .str()
-                  .equals(StringView("-12345678")));
-  EXPECT_TRUE(integer_to_string(int32_t(-123456789))
-                  .str()
-                  .equals(StringView("-123456789")));
-  EXPECT_TRUE(integer_to_string(int32_t(-1234567890))
-                  .str()
-                  .equals(StringView("-1234567890")));
-  EXPECT_TRUE(integer_to_string(int32_t(INT32_MAX))
-                  .str()
-                  .equals(StringView("2147483647")));
-  EXPECT_TRUE(integer_to_string(int32_t(INT32_MIN))
-                  .str()
-                  .equals(StringView("-2147483648")));
+  EXPECT_EQ(integer_to_string(int32_t(0)).str(), (StringView("0")));
+  EXPECT_EQ(integer_to_string(int32_t(1)).str(), (StringView("1")));
+  EXPECT_EQ(integer_to_string(int32_t(12)).str(), (StringView("12")));
+  EXPECT_EQ(integer_to_string(int32_t(123)).str(), (StringView("123")));
+  EXPECT_EQ(integer_to_string(int32_t(1234)).str(), (StringView("1234")));
+  EXPECT_EQ(integer_to_string(int32_t(12345)).str(), (StringView("12345")));
+  EXPECT_EQ(integer_to_string(int32_t(123456)).str(), (StringView("123456")));
+  EXPECT_EQ(integer_to_string(int32_t(1234567)).str(), (StringView("1234567")));
+  EXPECT_EQ(integer_to_string(int32_t(12345678)).str(),
+            (StringView("12345678")));
+  EXPECT_EQ(integer_to_string(int32_t(123456789)).str(),
+            (StringView("123456789")));
+  EXPECT_EQ(integer_to_string(int32_t(1234567890)).str(),
+            (StringView("1234567890")));
+  EXPECT_EQ(integer_to_string(int32_t(-1)).str(), (StringView("-1")));
+  EXPECT_EQ(integer_to_string(int32_t(-12)).str(), (StringView("-12")));
+  EXPECT_EQ(integer_to_string(int32_t(-123)).str(), (StringView("-123")));
+  EXPECT_EQ(integer_to_string(int32_t(-1234)).str(), (StringView("-1234")));
+  EXPECT_EQ(integer_to_string(int32_t(-12345)).str(), (StringView("-12345")));
+  EXPECT_EQ(integer_to_string(int32_t(-123456)).str(), (StringView("-123456")));
+  EXPECT_EQ(integer_to_string(int32_t(-1234567)).str(),
+            (StringView("-1234567")));
+  EXPECT_EQ(integer_to_string(int32_t(-12345678)).str(),
+            (StringView("-12345678")));
+  EXPECT_EQ(integer_to_string(int32_t(-123456789)).str(),
+            (StringView("-123456789")));
+  EXPECT_EQ(integer_to_string(int32_t(-1234567890)).str(),
+            (StringView("-1234567890")));
+  EXPECT_EQ(integer_to_string(int32_t(INT32_MAX)).str(),
+            (StringView("2147483647")));
+  EXPECT_EQ(integer_to_string(int32_t(INT32_MIN)).str(),
+            (StringView("-2147483648")));
 }
 
 TEST(LlvmLibcIntegerToStringTest, UINT64) {
-  EXPECT_TRUE(integer_to_string(uint64_t(0)).str().equals(StringView("0")));
-  EXPECT_TRUE(integer_to_string(uint64_t(1)).str().equals(StringView("1")));
-  EXPECT_TRUE(integer_to_string(uint64_t(12)).str().equals(StringView("12")));
-  EXPECT_TRUE(integer_to_string(uint64_t(123)).str().equals(StringView("123")));
-  EXPECT_TRUE(
-      integer_to_string(uint64_t(1234)).str().equals(StringView("1234")));
-  EXPECT_TRUE(
-      integer_to_string(uint64_t(12345)).str().equals(StringView("12345")));
-  EXPECT_TRUE(
-      integer_to_string(uint64_t(123456)).str().equals(StringView("123456")));
-  EXPECT_TRUE(
-      integer_to_string(uint64_t(1234567)).str().equals(StringView("1234567")));
-  EXPECT_TRUE(integer_to_string(uint64_t(12345678))
-                  .str()
-                  .equals(StringView("12345678")));
-  EXPECT_TRUE(integer_to_string(uint64_t(123456789))
-                  .str()
-                  .equals(StringView("123456789")));
-  EXPECT_TRUE(integer_to_string(uint64_t(1234567890))
-                  .str()
-                  .equals(StringView("1234567890")));
-  EXPECT_TRUE(integer_to_string(uint64_t(1234567890123456789))
-                  .str()
-                  .equals(StringView("1234567890123456789")));
-  EXPECT_TRUE(integer_to_string(uint64_t(UINT64_MAX))
-                  .str()
-                  .equals(StringView("18446744073709551615")));
-  EXPECT_TRUE(integer_to_string(uint64_t(-1))
-                  .str()
-                  .equals(StringView("18446744073709551615")));
+  EXPECT_EQ(integer_to_string(uint64_t(0)).str(), (StringView("0")));
+  EXPECT_EQ(integer_to_string(uint64_t(1)).str(), (StringView("1")));
+  EXPECT_EQ(integer_to_string(uint64_t(12)).str(), (StringView("12")));
+  EXPECT_EQ(integer_to_string(uint64_t(123)).str(), (StringView("123")));
+  EXPECT_EQ(integer_to_string(uint64_t(1234)).str(), (StringView("1234")));
+  EXPECT_EQ(integer_to_string(uint64_t(12345)).str(), (StringView("12345")));
+  EXPECT_EQ(integer_to_string(uint64_t(123456)).str(), (StringView("123456")));
+  EXPECT_EQ(integer_to_string(uint64_t(1234567)).str(),
+            (StringView("1234567")));
+  EXPECT_EQ(integer_to_string(uint64_t(12345678)).str(),
+            (StringView("12345678")));
+  EXPECT_EQ(integer_to_string(uint64_t(123456789)).str(),
+            (StringView("123456789")));
+  EXPECT_EQ(integer_to_string(uint64_t(1234567890)).str(),
+            (StringView("1234567890")));
+  EXPECT_EQ(integer_to_string(uint64_t(1234567890123456789)).str(),
+            (StringView("1234567890123456789")));
+  EXPECT_EQ(integer_to_string(uint64_t(UINT64_MAX)).str(),
+            (StringView("18446744073709551615")));
+  EXPECT_EQ(integer_to_string(uint64_t(-1)).str(),
+            (StringView("18446744073709551615")));
 }
 
 TEST(LlvmLibcIntegerToStringTest, INT64) {
-  EXPECT_TRUE(integer_to_string(int64_t(0)).str().equals(StringView("0")));
-  EXPECT_TRUE(integer_to_string(int64_t(1)).str().equals(StringView("1")));
-  EXPECT_TRUE(integer_to_string(int64_t(12)).str().equals(StringView("12")));
-  EXPECT_TRUE(integer_to_string(int64_t(123)).str().equals(StringView("123")));
-  EXPECT_TRUE(
-      integer_to_string(int64_t(1234)).str().equals(StringView("1234")));
-  EXPECT_TRUE(
-      integer_to_string(int64_t(12345)).str().equals(StringView("12345")));
-  EXPECT_TRUE(
-      integer_to_string(int64_t(123456)).str().equals(StringView("123456")));
-  EXPECT_TRUE(
-      integer_to_string(int64_t(1234567)).str().equals(StringView("1234567")));
-  EXPECT_TRUE(integer_to_string(int64_t(12345678))
-                  .str()
-                  .equals(StringView("12345678")));
-  EXPECT_TRUE(integer_to_string(int64_t(123456789))
-                  .str()
-                  .equals(StringView("123456789")));
-  EXPECT_TRUE(integer_to_string(int64_t(1234567890))
-                  .str()
-                  .equals(StringView("1234567890")));
-  EXPECT_TRUE(integer_to_string(int64_t(1234567890123456789))
-                  .str()
-                  .equals(StringView("1234567890123456789")));
-  EXPECT_TRUE(integer_to_string(int64_t(-1)).str().equals(StringView("-1")));
-  EXPECT_TRUE(integer_to_string(int64_t(-12)).str().equals(StringView("-12")));
-  EXPECT_TRUE(
-      integer_to_string(int64_t(-123)).str().equals(StringView("-123")));
-  EXPECT_TRUE(
-      integer_to_string(int64_t(-1234)).str().equals(StringView("-1234")));
-  EXPECT_TRUE(
-      integer_to_string(int64_t(-12345)).str().equals(StringView("-12345")));
-  EXPECT_TRUE(
-      integer_to_string(int64_t(-123456)).str().equals(StringView("-123456")));
-  EXPECT_TRUE(integer_to_string(int64_t(-1234567))
-                  .str()
-                  .equals(StringView("-1234567")));
-  EXPECT_TRUE(integer_to_string(int64_t(-12345678))
-                  .str()
-                  .equals(StringView("-12345678")));
-  EXPECT_TRUE(integer_to_string(int64_t(-123456789))
-                  .str()
-                  .equals(StringView("-123456789")));
-  EXPECT_TRUE(integer_to_string(int64_t(-1234567890))
-                  .str()
-                  .equals(StringView("-1234567890")));
-  EXPECT_TRUE(integer_to_string(int64_t(-1234567890123456789))
-                  .str()
-                  .equals(StringView("-1234567890123456789")));
-  EXPECT_TRUE(integer_to_string(int64_t(INT64_MAX))
-                  .str()
-                  .equals(StringView("9223372036854775807")));
-  EXPECT_TRUE(integer_to_string(int64_t(INT64_MIN))
-                  .str()
-                  .equals(StringView("-9223372036854775808")));
+  EXPECT_EQ(integer_to_string(int64_t(0)).str(), (StringView("0")));
+  EXPECT_EQ(integer_to_string(int64_t(1)).str(), (StringView("1")));
+  EXPECT_EQ(integer_to_string(int64_t(12)).str(), (StringView("12")));
+  EXPECT_EQ(integer_to_string(int64_t(123)).str(), (StringView("123")));
+  EXPECT_EQ(integer_to_string(int64_t(1234)).str(), (StringView("1234")));
+  EXPECT_EQ(integer_to_string(int64_t(12345)).str(), (StringView("12345")));
+  EXPECT_EQ(integer_to_string(int64_t(123456)).str(), (StringView("123456")));
+  EXPECT_EQ(integer_to_string(int64_t(1234567)).str(), (StringView("1234567")));
+  EXPECT_EQ(integer_to_string(int64_t(12345678)).str(),
+            (StringView("12345678")));
+  EXPECT_EQ(integer_to_string(int64_t(123456789)).str(),
+            (StringView("123456789")));
+  EXPECT_EQ(integer_to_string(int64_t(1234567890)).str(),
+            (StringView("1234567890")));
+  EXPECT_EQ(integer_to_string(int64_t(1234567890123456789)).str(),
+            (StringView("1234567890123456789")));
+  EXPECT_EQ(integer_to_string(int64_t(-1)).str(), (StringView("-1")));
+  EXPECT_EQ(integer_to_string(int64_t(-12)).str(), (StringView("-12")));
+  EXPECT_EQ(integer_to_string(int64_t(-123)).str(), (StringView("-123")));
+  EXPECT_EQ(integer_to_string(int64_t(-1234)).str(), (StringView("-1234")));
+  EXPECT_EQ(integer_to_string(int64_t(-12345)).str(), (StringView("-12345")));
+  EXPECT_EQ(integer_to_string(int64_t(-123456)).str(), (StringView("-123456")));
+  EXPECT_EQ(integer_to_string(int64_t(-1234567)).str(),
+            (StringView("-1234567")));
+  EXPECT_EQ(integer_to_string(int64_t(-12345678)).str(),
+            (StringView("-12345678")));
+  EXPECT_EQ(integer_to_string(int64_t(-123456789)).str(),
+            (StringView("-123456789")));
+  EXPECT_EQ(integer_to_string(int64_t(-1234567890)).str(),
+            (StringView("-1234567890")));
+  EXPECT_EQ(integer_to_string(int64_t(-1234567890123456789)).str(),
+            (StringView("-1234567890123456789")));
+  EXPECT_EQ(integer_to_string(int64_t(INT64_MAX)).str(),
+            (StringView("9223372036854775807")));
+  EXPECT_EQ(integer_to_string(int64_t(INT64_MIN)).str(),
+            (StringView("-9223372036854775808")));
 }

diff  --git a/libc/utils/UnitTest/LibcTest.cpp b/libc/utils/UnitTest/LibcTest.cpp
index 27859946d25b3..9dc357eaf6f8b 100644
--- a/libc/utils/UnitTest/LibcTest.cpp
+++ b/libc/utils/UnitTest/LibcTest.cpp
@@ -9,6 +9,7 @@
 #include "LibcTest.h"
 
 #include "src/__support/CPP/UInt128.h"
+#include "src/__support/CPP/StringView.h"
 #include "utils/testutils/ExecuteFunction.h"
 #include <cassert>
 #include <iostream>
@@ -42,6 +43,9 @@ describeValue(ValType Value) {
 }
 
 std::string describeValue(std::string Value) { return std::string(Value); }
+std::string describeValue(cpp::StringView Value) {
+  return std::string(Value.data(), Value.size());
+}
 
 // When the value is UInt128 or __uint128_t, show its hexadecimal digits.
 // We cannot just use a UInt128 specialization as that resolves to only
@@ -278,6 +282,12 @@ template bool test<__llvm_libc::cpp::UInt<128>>(
     __llvm_libc::cpp::UInt<128> RHS, const char *LHSStr, const char *RHSStr,
     const char *File, unsigned long Line);
 
+template bool test<__llvm_libc::cpp::StringView>(RunContext *Ctx, TestCondition Cond,
+                                       __llvm_libc::cpp::StringView LHS,
+                                       __llvm_libc::cpp::StringView RHS,
+                                       const char *LHSStr, const char *RHSStr,
+                                       const char *File, unsigned long Line);
+
 } // namespace internal
 
 bool Test::testStrEq(const char *LHS, const char *RHS, const char *LHSStr,

diff  --git a/libc/utils/UnitTest/LibcTest.h b/libc/utils/UnitTest/LibcTest.h
index 27a2c2380eb00..ea90e13afde16 100644
--- a/libc/utils/UnitTest/LibcTest.h
+++ b/libc/utils/UnitTest/LibcTest.h
@@ -14,6 +14,7 @@
 
 #include "PlatformDefs.h"
 
+#include "src/__support/CPP/StringView.h"
 #include "src/__support/CPP/type_traits.h"
 #include "utils/testutils/ExecuteFunction.h"
 #include "utils/testutils/StreamWrapper.h"
@@ -105,6 +106,14 @@ class Test {
                           (unsigned long long)RHS, LHSStr, RHSStr, File, Line);
   }
 
+  template <typename ValType,
+            cpp::enable_if_t<
+                cpp::is_same_v<ValType, __llvm_libc::cpp::StringView>, int> = 0>
+  bool test(TestCondition Cond, ValType LHS, ValType RHS, const char *LHSStr,
+            const char *RHSStr, const char *File, unsigned long Line) {
+    return internal::test(Ctx, Cond, LHS, RHS, LHSStr, RHSStr, File, Line);
+  }
+
   bool testStrEq(const char *LHS, const char *RHS, const char *LHSStr,
                  const char *RHSStr, const char *File, unsigned long Line);
 


        


More information about the libc-commits mailing list