aboutsummaryrefslogtreecommitdiff
path: root/libc/test/src
diff options
context:
space:
mode:
Diffstat (limited to 'libc/test/src')
-rw-r--r--libc/test/src/ctype/islower_test.cpp2
-rw-r--r--libc/test/src/stdio/CMakeLists.txt3
-rw-r--r--libc/test/src/stdio/fprintf_test.cpp26
-rw-r--r--libc/test/src/stdio/printf_core/converter_test.cpp30
-rw-r--r--libc/test/src/stdio/printf_core/writer_test.cpp32
-rw-r--r--libc/test/src/stdio/snprintf_test.cpp15
-rw-r--r--libc/test/src/stdio/vfprintf_test.cpp5
-rw-r--r--libc/test/src/stdlib/StrfromTest.h19
-rw-r--r--libc/test/src/stdlib/StrtolTest.h24
-rw-r--r--libc/test/src/wchar/WcstolTest.h24
10 files changed, 122 insertions, 58 deletions
diff --git a/libc/test/src/ctype/islower_test.cpp b/libc/test/src/ctype/islower_test.cpp
index f877171..e4e5f5c 100644
--- a/libc/test/src/ctype/islower_test.cpp
+++ b/libc/test/src/ctype/islower_test.cpp
@@ -40,7 +40,7 @@ TEST(LlvmLibcIsLower, SimpleTest) {
}
TEST(LlvmLibcIsLower, DefaultLocale) {
- // Loops through all characters, verifying that numbers and letters
+ // Loops through all characters, verifying that only lowercase letters
// return non-zero integer and everything else returns a zero.
for (int ch = -255; ch < 255; ++ch) {
if (in_span(ch, LOWER_ARRAY))
diff --git a/libc/test/src/stdio/CMakeLists.txt b/libc/test/src/stdio/CMakeLists.txt
index eec108b..a39428f 100644
--- a/libc/test/src/stdio/CMakeLists.txt
+++ b/libc/test/src/stdio/CMakeLists.txt
@@ -186,6 +186,9 @@ add_libc_test(
fprintf_test.cpp
DEPENDS
libc.src.stdio.fprintf
+ libc.test.UnitTest.ErrnoCheckingTest
+ libc.test.UnitTest.ErrnoSetterMatcher
+ libc.src.__support.macros.properties.architectures
${fprintf_test_deps}
COMPILE_OPTIONS
${use_system_file}
diff --git a/libc/test/src/stdio/fprintf_test.cpp b/libc/test/src/stdio/fprintf_test.cpp
index 6799323..b035b6d 100644
--- a/libc/test/src/stdio/fprintf_test.cpp
+++ b/libc/test/src/stdio/fprintf_test.cpp
@@ -15,6 +15,10 @@
#include "src/stdio/fprintf.h"
+#include "src/__support/CPP/limits.h"
+#include "src/__support/macros/properties/architectures.h"
+#include "test/UnitTest/ErrnoCheckingTest.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
#include "test/UnitTest/Test.h"
namespace printf_test {
@@ -31,6 +35,8 @@ using ::fread;
#endif // LIBC_COPT_STDIO_USE_SYSTEM_FILE
} // namespace printf_test
+using LlvmLibcFPrintfTest = LIBC_NAMESPACE::testing::ErrnoCheckingTest;
+
TEST(LlvmLibcFPrintfTest, WriteToFile) {
const char *FILENAME = APPEND_LIBC_TEST("fprintf_output.test");
auto FILE_PATH = libc_make_test_file_path(FILENAME);
@@ -78,6 +84,26 @@ TEST(LlvmLibcFPrintfTest, WriteToFile) {
written =
LIBC_NAMESPACE::fprintf(file, "Writing to a read only file should fail.");
EXPECT_LT(written, 0);
+ ASSERT_ERRNO_FAILURE();
+
+ ASSERT_EQ(printf_test::fclose(file), 0);
+}
+
+#if !defined(LIBC_COPT_PRINTF_NO_NULLPTR_CHECKS) && \
+ !defined(LIBC_COPT_PRINTF_DISABLE_WRITE_INT) && \
+ !defined(LIBC_TARGET_ARCH_IS_GPU)
+TEST(LlvmLibcFPrintfTest, NullPtrCheck) {
+ const char *FILENAME = APPEND_LIBC_TEST("fprintf_nullptr.test");
+ auto FILE_PATH = libc_make_test_file_path(FILENAME);
+
+ ::FILE *file = printf_test::fopen(FILE_PATH, "w");
+ ASSERT_FALSE(file == nullptr);
+
+ int ret =
+ LIBC_NAMESPACE::fprintf(file, "hello %n", static_cast<int *>(nullptr));
+ EXPECT_LT(ret, 0);
+ ASSERT_ERRNO_FAILURE();
ASSERT_EQ(printf_test::fclose(file), 0);
}
+#endif // LIBC_COPT_PRINTF_NO_NULLPTR_CHECKS
diff --git a/libc/test/src/stdio/printf_core/converter_test.cpp b/libc/test/src/stdio/printf_core/converter_test.cpp
index bf08893..2dae2a2 100644
--- a/libc/test/src/stdio/printf_core/converter_test.cpp
+++ b/libc/test/src/stdio/printf_core/converter_test.cpp
@@ -38,7 +38,7 @@ TEST_F(LlvmLibcPrintfConverterTest, SimpleRawConversion) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ(str, "abc");
- ASSERT_EQ(writer.get_chars_written(), 3);
+ ASSERT_EQ(writer.get_chars_written(), size_t{3});
}
TEST_F(LlvmLibcPrintfConverterTest, PercentConversion) {
@@ -52,7 +52,7 @@ TEST_F(LlvmLibcPrintfConverterTest, PercentConversion) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ(str, "%");
- ASSERT_EQ(writer.get_chars_written(), 1);
+ ASSERT_EQ(writer.get_chars_written(), size_t{1});
}
TEST_F(LlvmLibcPrintfConverterTest, CharConversionSimple) {
@@ -70,7 +70,7 @@ TEST_F(LlvmLibcPrintfConverterTest, CharConversionSimple) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ(str, "D");
- ASSERT_EQ(writer.get_chars_written(), 1);
+ ASSERT_EQ(writer.get_chars_written(), size_t{1});
}
TEST_F(LlvmLibcPrintfConverterTest, CharConversionRightJustified) {
@@ -85,7 +85,7 @@ TEST_F(LlvmLibcPrintfConverterTest, CharConversionRightJustified) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ(str, " E");
- ASSERT_EQ(writer.get_chars_written(), 4);
+ ASSERT_EQ(writer.get_chars_written(), size_t{4});
}
TEST_F(LlvmLibcPrintfConverterTest, CharConversionLeftJustified) {
@@ -102,7 +102,7 @@ TEST_F(LlvmLibcPrintfConverterTest, CharConversionLeftJustified) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ(str, "F ");
- ASSERT_EQ(writer.get_chars_written(), 4);
+ ASSERT_EQ(writer.get_chars_written(), size_t{4});
}
TEST_F(LlvmLibcPrintfConverterTest, StringConversionSimple) {
@@ -118,7 +118,7 @@ TEST_F(LlvmLibcPrintfConverterTest, StringConversionSimple) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ(str, "DEF");
- ASSERT_EQ(writer.get_chars_written(), 3);
+ ASSERT_EQ(writer.get_chars_written(), size_t{3});
}
TEST_F(LlvmLibcPrintfConverterTest, StringConversionPrecisionHigh) {
@@ -133,7 +133,7 @@ TEST_F(LlvmLibcPrintfConverterTest, StringConversionPrecisionHigh) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ(str, "456");
- ASSERT_EQ(writer.get_chars_written(), 3);
+ ASSERT_EQ(writer.get_chars_written(), size_t{3});
}
TEST_F(LlvmLibcPrintfConverterTest, StringConversionPrecisionLow) {
@@ -148,7 +148,7 @@ TEST_F(LlvmLibcPrintfConverterTest, StringConversionPrecisionLow) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ(str, "xy");
- ASSERT_EQ(writer.get_chars_written(), 2);
+ ASSERT_EQ(writer.get_chars_written(), size_t{2});
}
TEST_F(LlvmLibcPrintfConverterTest, StringConversionRightJustified) {
@@ -163,7 +163,7 @@ TEST_F(LlvmLibcPrintfConverterTest, StringConversionRightJustified) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ(str, " 789");
- ASSERT_EQ(writer.get_chars_written(), 4);
+ ASSERT_EQ(writer.get_chars_written(), size_t{4});
}
TEST_F(LlvmLibcPrintfConverterTest, StringConversionLeftJustified) {
@@ -180,7 +180,7 @@ TEST_F(LlvmLibcPrintfConverterTest, StringConversionLeftJustified) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ(str, "ghi ");
- ASSERT_EQ(writer.get_chars_written(), 4);
+ ASSERT_EQ(writer.get_chars_written(), size_t{4});
}
TEST_F(LlvmLibcPrintfConverterTest, IntConversionSimple) {
@@ -194,7 +194,7 @@ TEST_F(LlvmLibcPrintfConverterTest, IntConversionSimple) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ(str, "12345");
- ASSERT_EQ(writer.get_chars_written(), 5);
+ ASSERT_EQ(writer.get_chars_written(), size_t{5});
}
TEST_F(LlvmLibcPrintfConverterTest, HexConversion) {
@@ -211,7 +211,7 @@ TEST_F(LlvmLibcPrintfConverterTest, HexConversion) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ(str, "0x00000000123456ab");
- ASSERT_EQ(writer.get_chars_written(), 18);
+ ASSERT_EQ(writer.get_chars_written(), size_t{18});
}
TEST_F(LlvmLibcPrintfConverterTest, BinaryConversion) {
@@ -225,7 +225,7 @@ TEST_F(LlvmLibcPrintfConverterTest, BinaryConversion) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ(str, "101010");
- ASSERT_EQ(writer.get_chars_written(), 6);
+ ASSERT_EQ(writer.get_chars_written(), size_t{6});
}
TEST_F(LlvmLibcPrintfConverterTest, PointerConversion) {
@@ -239,7 +239,7 @@ TEST_F(LlvmLibcPrintfConverterTest, PointerConversion) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ(str, "0x123456ab");
- ASSERT_EQ(writer.get_chars_written(), 10);
+ ASSERT_EQ(writer.get_chars_written(), size_t{10});
}
TEST_F(LlvmLibcPrintfConverterTest, OctConversion) {
@@ -253,5 +253,5 @@ TEST_F(LlvmLibcPrintfConverterTest, OctConversion) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ(str, "1234");
- ASSERT_EQ(writer.get_chars_written(), 4);
+ ASSERT_EQ(writer.get_chars_written(), size_t{4});
}
diff --git a/libc/test/src/stdio/printf_core/writer_test.cpp b/libc/test/src/stdio/printf_core/writer_test.cpp
index d036341..d263cf5 100644
--- a/libc/test/src/stdio/printf_core/writer_test.cpp
+++ b/libc/test/src/stdio/printf_core/writer_test.cpp
@@ -39,7 +39,7 @@ TEST(LlvmLibcPrintfWriterTest, Write) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ("abc", str);
- ASSERT_EQ(writer.get_chars_written(), 3);
+ ASSERT_EQ(writer.get_chars_written(), size_t{3});
}
TEST(LlvmLibcPrintfWriterTest, WriteMultipleTimes) {
@@ -53,7 +53,7 @@ TEST(LlvmLibcPrintfWriterTest, WriteMultipleTimes) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ("abcDEF123", str);
- ASSERT_EQ(writer.get_chars_written(), 9);
+ ASSERT_EQ(writer.get_chars_written(), size_t{9});
}
TEST(LlvmLibcPrintfWriterTest, WriteChars) {
@@ -66,7 +66,7 @@ TEST(LlvmLibcPrintfWriterTest, WriteChars) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ("aaa", str);
- ASSERT_EQ(writer.get_chars_written(), 3);
+ ASSERT_EQ(writer.get_chars_written(), size_t{3});
}
TEST(LlvmLibcPrintfWriterTest, WriteCharsMultipleTimes) {
@@ -80,7 +80,7 @@ TEST(LlvmLibcPrintfWriterTest, WriteCharsMultipleTimes) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ("aaaDDD111", str);
- ASSERT_EQ(writer.get_chars_written(), 9);
+ ASSERT_EQ(writer.get_chars_written(), size_t{9});
}
TEST(LlvmLibcPrintfWriterTest, WriteManyChars) {
@@ -102,7 +102,7 @@ TEST(LlvmLibcPrintfWriterTest, WriteManyChars) {
"ZZZZZZZZZZ"
"ZZZZZZZZZ",
str);
- ASSERT_EQ(writer.get_chars_written(), 99);
+ ASSERT_EQ(writer.get_chars_written(), size_t{99});
}
TEST(LlvmLibcPrintfWriterTest, MixedWrites) {
@@ -117,7 +117,7 @@ TEST(LlvmLibcPrintfWriterTest, MixedWrites) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ("aaaDEF111456", str);
- ASSERT_EQ(writer.get_chars_written(), 12);
+ ASSERT_EQ(writer.get_chars_written(), size_t{12});
}
TEST(LlvmLibcPrintfWriterTest, WriteWithMaxLength) {
@@ -129,7 +129,7 @@ TEST(LlvmLibcPrintfWriterTest, WriteWithMaxLength) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ("abcDEF1234", str);
- ASSERT_EQ(writer.get_chars_written(), 12);
+ ASSERT_EQ(writer.get_chars_written(), size_t{12});
}
TEST(LlvmLibcPrintfWriterTest, WriteCharsWithMaxLength) {
@@ -141,7 +141,7 @@ TEST(LlvmLibcPrintfWriterTest, WriteCharsWithMaxLength) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ("1111111111", str);
- ASSERT_EQ(writer.get_chars_written(), 15);
+ ASSERT_EQ(writer.get_chars_written(), size_t{15});
}
TEST(LlvmLibcPrintfWriterTest, MixedWriteWithMaxLength) {
@@ -157,7 +157,7 @@ TEST(LlvmLibcPrintfWriterTest, MixedWriteWithMaxLength) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ("aaaDEF1114", str);
- ASSERT_EQ(writer.get_chars_written(), 12);
+ ASSERT_EQ(writer.get_chars_written(), size_t{12});
}
TEST(LlvmLibcPrintfWriterTest, StringWithMaxLengthOne) {
@@ -175,7 +175,7 @@ TEST(LlvmLibcPrintfWriterTest, StringWithMaxLengthOne) {
wb.buff[wb.buff_cur] = '\0';
ASSERT_STREQ("", str);
- ASSERT_EQ(writer.get_chars_written(), 12);
+ ASSERT_EQ(writer.get_chars_written(), size_t{12});
}
TEST(LlvmLibcPrintfWriterTest, NullStringWithZeroMaxLength) {
@@ -187,7 +187,7 @@ TEST(LlvmLibcPrintfWriterTest, NullStringWithZeroMaxLength) {
writer.write('1', 3);
writer.write({"456", 3});
- ASSERT_EQ(writer.get_chars_written(), 12);
+ ASSERT_EQ(writer.get_chars_written(), size_t{12});
}
struct OutBuff {
@@ -226,7 +226,7 @@ TEST(LlvmLibcPrintfWriterTest, WriteWithMaxLengthWithCallback) {
str[out_buff.cur_pos] = '\0';
ASSERT_STREQ("abcDEF123456", str);
- ASSERT_EQ(writer.get_chars_written(), 12);
+ ASSERT_EQ(writer.get_chars_written(), size_t{12});
}
TEST(LlvmLibcPrintfWriterTest, WriteCharsWithMaxLengthWithCallback) {
@@ -246,7 +246,7 @@ TEST(LlvmLibcPrintfWriterTest, WriteCharsWithMaxLengthWithCallback) {
str[out_buff.cur_pos] = '\0';
ASSERT_STREQ("111111111111111", str);
- ASSERT_EQ(writer.get_chars_written(), 15);
+ ASSERT_EQ(writer.get_chars_written(), size_t{15});
}
TEST(LlvmLibcPrintfWriterTest, MixedWriteWithMaxLengthWithCallback) {
@@ -269,7 +269,7 @@ TEST(LlvmLibcPrintfWriterTest, MixedWriteWithMaxLengthWithCallback) {
str[out_buff.cur_pos] = '\0';
ASSERT_STREQ("aaaDEF111456", str);
- ASSERT_EQ(writer.get_chars_written(), 12);
+ ASSERT_EQ(writer.get_chars_written(), size_t{12});
}
TEST(LlvmLibcPrintfWriterTest, ZeroLengthBufferWithCallback) {
@@ -292,7 +292,7 @@ TEST(LlvmLibcPrintfWriterTest, ZeroLengthBufferWithCallback) {
str[out_buff.cur_pos] = '\0';
ASSERT_STREQ("aaaDEF111456", str);
- ASSERT_EQ(writer.get_chars_written(), 12);
+ ASSERT_EQ(writer.get_chars_written(), size_t{12});
}
TEST(LlvmLibcPrintfWriterTest, NullStringWithZeroMaxLengthWithCallback) {
@@ -312,7 +312,7 @@ TEST(LlvmLibcPrintfWriterTest, NullStringWithZeroMaxLengthWithCallback) {
wb.overflow_write("");
str[out_buff.cur_pos] = '\0';
- ASSERT_EQ(writer.get_chars_written(), 12);
+ ASSERT_EQ(writer.get_chars_written(), size_t{12});
ASSERT_STREQ("aaaDEF111456", str);
}
diff --git a/libc/test/src/stdio/snprintf_test.cpp b/libc/test/src/stdio/snprintf_test.cpp
index baaa664..95507e0 100644
--- a/libc/test/src/stdio/snprintf_test.cpp
+++ b/libc/test/src/stdio/snprintf_test.cpp
@@ -8,8 +8,12 @@
#include "src/stdio/snprintf.h"
+#include "test/UnitTest/ErrnoCheckingTest.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
#include "test/UnitTest/Test.h"
+using LlvmLibcSNPrintfTest = LIBC_NAMESPACE::testing::ErrnoCheckingTest;
+
// The sprintf test cases cover testing the shared printf functionality, so
// these tests will focus on snprintf exclusive features.
@@ -59,3 +63,14 @@ TEST(LlvmLibcSNPrintfTest, NoCutOff) {
EXPECT_EQ(written, 10);
ASSERT_STREQ(buff, "1234567890");
}
+
+TEST(LlvmLibcSNPrintfTest, CharsWrittenOverflow) {
+ char buff[0];
+
+ // Trigger an overflow in the return value of snprintf by writing more than
+ // INT_MAX bytes.
+ int int_max = LIBC_NAMESPACE::cpp::numeric_limits<int>::max();
+ int written = LIBC_NAMESPACE::snprintf(buff, 0, "%*stest", int_max, "");
+ EXPECT_LT(written, 0);
+ ASSERT_ERRNO_FAILURE();
+}
diff --git a/libc/test/src/stdio/vfprintf_test.cpp b/libc/test/src/stdio/vfprintf_test.cpp
index f50565a..0e003f5 100644
--- a/libc/test/src/stdio/vfprintf_test.cpp
+++ b/libc/test/src/stdio/vfprintf_test.cpp
@@ -19,6 +19,8 @@
#include "src/stdio/vfprintf.h"
+#include "test/UnitTest/ErrnoCheckingTest.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
#include "test/UnitTest/Test.h"
namespace printf_test {
@@ -44,6 +46,8 @@ int call_vfprintf(::FILE *__restrict stream, const char *__restrict format,
return ret;
}
+using LlvmLibcVFPrintfTest = LIBC_NAMESPACE::testing::ErrnoCheckingTest;
+
TEST(LlvmLibcVFPrintfTest, WriteToFile) {
const char *FILENAME = APPEND_LIBC_TEST("vfprintf_output.test");
auto FILE_PATH = libc_make_test_file_path(FILENAME);
@@ -90,6 +94,7 @@ TEST(LlvmLibcVFPrintfTest, WriteToFile) {
written = call_vfprintf(file, "Writing to a read only file should fail.");
EXPECT_LT(written, 0);
+ ASSERT_ERRNO_FAILURE();
ASSERT_EQ(printf_test::fclose(file), 0);
}
diff --git a/libc/test/src/stdlib/StrfromTest.h b/libc/test/src/stdlib/StrfromTest.h
index e82c944..fd2e0f12 100644
--- a/libc/test/src/stdlib/StrfromTest.h
+++ b/libc/test/src/stdlib/StrfromTest.h
@@ -8,6 +8,8 @@
#include "src/__support/CPP/type_traits.h"
#include "src/__support/FPUtil/FPBits.h"
+#include "test/UnitTest/ErrnoCheckingTest.h"
+#include "test/UnitTest/ErrnoSetterMatcher.h"
#include "test/UnitTest/Test.h"
#define ASSERT_STREQ_LEN(actual_written, actual_str, expected_str) \
@@ -15,7 +17,7 @@
EXPECT_STREQ(actual_str, expected_str);
template <typename InputT>
-class StrfromTest : public LIBC_NAMESPACE::testing::Test {
+class StrfromTest : public LIBC_NAMESPACE::testing::ErrnoCheckingTest {
static constexpr bool is_single_prec =
LIBC_NAMESPACE::cpp::is_same<InputT, float>::value;
@@ -481,6 +483,16 @@ public:
written = func(buff, 10, "%A", -ld_nan);
ASSERT_STREQ_LEN(written, buff, "-NAN");
}
+
+ void charsWrittenOverflow(FunctionT func) {
+ char buff[100];
+ // Trigger an overflow in the return value of strfrom by writing more than
+ // INT_MAX bytes.
+ int result = func(buff, sizeof(buff), "%.2147483647f", 1.0f);
+
+ EXPECT_LT(result, 0);
+ ASSERT_ERRNO_FAILURE();
+ }
};
#define STRFROM_TEST(InputType, name, func) \
@@ -501,4 +513,7 @@ public:
TEST_F(LlvmLibc##name##Test, InsufficientBufferSize) { \
insufficentBufsize(func); \
} \
- TEST_F(LlvmLibc##name##Test, InfAndNanValues) { infNanValues(func); }
+ TEST_F(LlvmLibc##name##Test, InfAndNanValues) { infNanValues(func); } \
+ TEST_F(LlvmLibc##name##Test, CharsWrittenOverflow) { \
+ charsWrittenOverflow(func); \
+ }
diff --git a/libc/test/src/stdlib/StrtolTest.h b/libc/test/src/stdlib/StrtolTest.h
index 03f0a65..3a7da1f 100644
--- a/libc/test/src/stdlib/StrtolTest.h
+++ b/libc/test/src/stdlib/StrtolTest.h
@@ -177,8 +177,8 @@ struct StrtoTest : public LIBC_NAMESPACE::testing::ErrnoCheckingTest {
char small_string[4] = {'\0', '\0', '\0', '\0'};
for (int base = 2; base <= 36; ++base) {
for (int first_digit = 0; first_digit <= 36; ++first_digit) {
- small_string[0] = static_cast<char>(
- LIBC_NAMESPACE::internal::int_to_b36_char(first_digit));
+ small_string[0] =
+ LIBC_NAMESPACE::internal::int_to_b36_char(first_digit);
if (first_digit < base) {
ASSERT_EQ(func(small_string, nullptr, base),
static_cast<ReturnT>(first_digit));
@@ -192,11 +192,11 @@ struct StrtoTest : public LIBC_NAMESPACE::testing::ErrnoCheckingTest {
for (int base = 2; base <= 36; ++base) {
for (int first_digit = 0; first_digit <= 36; ++first_digit) {
- small_string[0] = static_cast<char>(
- LIBC_NAMESPACE::internal::int_to_b36_char(first_digit));
+ small_string[0] =
+ LIBC_NAMESPACE::internal::int_to_b36_char(first_digit);
for (int second_digit = 0; second_digit <= 36; ++second_digit) {
- small_string[1] = static_cast<char>(
- LIBC_NAMESPACE::internal::int_to_b36_char(second_digit));
+ small_string[1] =
+ LIBC_NAMESPACE::internal::int_to_b36_char(second_digit);
if (first_digit < base && second_digit < base) {
ASSERT_EQ(
func(small_string, nullptr, base),
@@ -216,14 +216,14 @@ struct StrtoTest : public LIBC_NAMESPACE::testing::ErrnoCheckingTest {
for (int base = 2; base <= 36; ++base) {
for (int first_digit = 0; first_digit <= 36; ++first_digit) {
- small_string[0] = static_cast<char>(
- LIBC_NAMESPACE::internal::int_to_b36_char(first_digit));
+ small_string[0] =
+ LIBC_NAMESPACE::internal::int_to_b36_char(first_digit);
for (int second_digit = 0; second_digit <= 36; ++second_digit) {
- small_string[1] = static_cast<char>(
- LIBC_NAMESPACE::internal::int_to_b36_char(second_digit));
+ small_string[1] =
+ LIBC_NAMESPACE::internal::int_to_b36_char(second_digit);
for (int third_digit = 0; third_digit <= limit; ++third_digit) {
- small_string[2] = static_cast<char>(
- LIBC_NAMESPACE::internal::int_to_b36_char(third_digit));
+ small_string[2] =
+ LIBC_NAMESPACE::internal::int_to_b36_char(third_digit);
if (first_digit < base && second_digit < base &&
third_digit < base) {
diff --git a/libc/test/src/wchar/WcstolTest.h b/libc/test/src/wchar/WcstolTest.h
index 4d5b752..cadf9e0 100644
--- a/libc/test/src/wchar/WcstolTest.h
+++ b/libc/test/src/wchar/WcstolTest.h
@@ -178,8 +178,8 @@ struct WcstoTest : public LIBC_NAMESPACE::testing::ErrnoCheckingTest {
wchar_t small_string[4] = {L'\0', L'\0', L'\0', L'\0'};
for (int base = 2; base <= 36; ++base) {
for (int first_digit = 0; first_digit <= 36; ++first_digit) {
- small_string[0] = static_cast<wchar_t>(
- LIBC_NAMESPACE::internal::int_to_b36_wchar(first_digit));
+ small_string[0] =
+ LIBC_NAMESPACE::internal::int_to_b36_wchar(first_digit);
if (first_digit < base) {
ASSERT_EQ(func(small_string, nullptr, base),
static_cast<ReturnT>(first_digit));
@@ -193,11 +193,11 @@ struct WcstoTest : public LIBC_NAMESPACE::testing::ErrnoCheckingTest {
for (int base = 2; base <= 36; ++base) {
for (int first_digit = 0; first_digit <= 36; ++first_digit) {
- small_string[0] = static_cast<wchar_t>(
- LIBC_NAMESPACE::internal::int_to_b36_wchar(first_digit));
+ small_string[0] =
+ LIBC_NAMESPACE::internal::int_to_b36_wchar(first_digit);
for (int second_digit = 0; second_digit <= 36; ++second_digit) {
- small_string[1] = static_cast<wchar_t>(
- LIBC_NAMESPACE::internal::int_to_b36_wchar(second_digit));
+ small_string[1] =
+ LIBC_NAMESPACE::internal::int_to_b36_wchar(second_digit);
if (first_digit < base && second_digit < base) {
ASSERT_EQ(
func(small_string, nullptr, base),
@@ -217,14 +217,14 @@ struct WcstoTest : public LIBC_NAMESPACE::testing::ErrnoCheckingTest {
for (int base = 2; base <= 36; ++base) {
for (int first_digit = 0; first_digit <= 36; ++first_digit) {
- small_string[0] = static_cast<wchar_t>(
- LIBC_NAMESPACE::internal::int_to_b36_wchar(first_digit));
+ small_string[0] =
+ LIBC_NAMESPACE::internal::int_to_b36_wchar(first_digit);
for (int second_digit = 0; second_digit <= 36; ++second_digit) {
- small_string[1] = static_cast<wchar_t>(
- LIBC_NAMESPACE::internal::int_to_b36_wchar(second_digit));
+ small_string[1] =
+ LIBC_NAMESPACE::internal::int_to_b36_wchar(second_digit);
for (int third_digit = 0; third_digit <= limit; ++third_digit) {
- small_string[2] = static_cast<wchar_t>(
- LIBC_NAMESPACE::internal::int_to_b36_wchar(third_digit));
+ small_string[2] =
+ LIBC_NAMESPACE::internal::int_to_b36_wchar(third_digit);
if (first_digit < base && second_digit < base &&
third_digit < base) {