summaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
authorJoseph Huber <jhuber6@vols.utk.edu>2023-05-03 09:57:05 -0500
committerJoseph Huber <jhuber6@vols.utk.edu>2023-05-03 11:37:50 -0500
commit78d7d62c36f54b4264faec8ce38d11f7dd6abfd6 (patch)
tree325363f8fd3cdb85ea1f2683f86c7bfde6c51891 /libc
parentc00f8f1314479d6f764f89cfa4efe2f23a640adf (diff)
downloadllvm-78d7d62c36f54b4264faec8ce38d11f7dd6abfd6.tar.gz
[libc] Enable the '__support' unit tests to be hermetic
This patch updates the `__support` unit tests to be built as hermetic tests. The only tests we needed to disable were because of the use of `realloc` which is not implemented correctly as it doesn't copy the memory. Depends on D149745 Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D149750
Diffstat (limited to 'libc')
-rw-r--r--libc/test/src/__support/CMakeLists.txt40
-rw-r--r--libc/test/src/__support/CPP/CMakeLists.txt44
-rw-r--r--libc/test/src/__support/FPUtil/CMakeLists.txt4
-rw-r--r--libc/test/src/__support/File/CMakeLists.txt8
-rw-r--r--libc/test/src/__support/OSUtil/CMakeLists.txt2
-rw-r--r--libc/test/src/__support/OSUtil/linux/x86_64/CMakeLists.txt6
-rw-r--r--libc/test/src/__support/char_vector_test.cpp4
7 files changed, 56 insertions, 52 deletions
diff --git a/libc/test/src/__support/CMakeLists.txt b/libc/test/src/__support/CMakeLists.txt
index dddb0a8ed2ba..fec62820718d 100644
--- a/libc/test/src/__support/CMakeLists.txt
+++ b/libc/test/src/__support/CMakeLists.txt
@@ -1,29 +1,29 @@
-add_custom_target(libc_support_unittests)
+add_custom_target(libc-support-tests)
-add_libc_unittest(
+add_libc_test(
blockstore_test
SUITE
- libc_support_unittests
+ libc-support-tests
SRCS
blockstore_test.cpp
DEPENDS
libc.src.__support.blockstore
)
-add_libc_unittest(
+add_libc_test(
endian_test
SUITE
- libc_support_unittests
+ libc-support-tests
SRCS
endian_test.cpp
DEPENDS
libc.src.__support.common
)
-add_libc_unittest(
+add_libc_test(
high_precision_decimal_test
SUITE
- libc_support_unittests
+ libc-support-tests
SRCS
high_precision_decimal_test.cpp
DEPENDS
@@ -31,10 +31,10 @@ add_libc_unittest(
libc.src.__support.uint128
)
-add_libc_unittest(
+add_libc_test(
str_to_float_test
SUITE
- libc_support_unittests
+ libc-support-tests
SRCS
str_to_float_test.cpp
DEPENDS
@@ -43,10 +43,10 @@ add_libc_unittest(
libc.src.errno.errno
)
-add_libc_unittest(
+add_libc_test(
integer_to_string_test
SUITE
- libc_support_unittests
+ libc-support-tests
SRCS
integer_to_string_test.cpp
DEPENDS
@@ -54,20 +54,20 @@ add_libc_unittest(
libc.src.__support.CPP.string_view
)
-add_libc_unittest(
+add_libc_test(
arg_list_test
SUITE
- libc_support_unittests
+ libc-support-tests
SRCS
arg_list_test.cpp
DEPENDS
libc.src.__support.arg_list
)
-add_libc_unittest(
+add_libc_test(
uint_test
SUITE
- libc_support_unittests
+ libc-support-tests
SRCS
uint_test.cpp
DEPENDS
@@ -75,20 +75,22 @@ add_libc_unittest(
libc.src.__support.CPP.optional
)
-add_libc_unittest(
+add_libc_test(
fixedvector_test
SUITE
- libc_support_unittests
+ libc-support-tests
SRCS
fixedvector_test.cpp
DEPENDS
libc.src.__support.fixedvector
)
-add_libc_unittest(
+add_libc_test(
char_vector_test
+ # This test relies on 'realloc' which is not implemented for hermetic tests.
+ UNIT_TEST_ONLY
SUITE
- libc_support_unittests
+ libc-support-tests
SRCS
char_vector_test.cpp
DEPENDS
diff --git a/libc/test/src/__support/CPP/CMakeLists.txt b/libc/test/src/__support/CPP/CMakeLists.txt
index a6b80fcce872..792a28e8cbba 100644
--- a/libc/test/src/__support/CPP/CMakeLists.txt
+++ b/libc/test/src/__support/CPP/CMakeLists.txt
@@ -1,39 +1,39 @@
-add_custom_target(libc_cpp_utils_unittests)
+add_custom_target(libc-cpp-utils-tests)
-add_libc_unittest(
+add_libc_test(
bitset_test
SUITE
- libc_cpp_utils_unittests
+ libc-cpp-utils-tests
SRCS
bitset_test.cpp
DEPENDS
libc.src.__support.CPP.bitset
)
-add_libc_unittest(
+add_libc_test(
cstddef_test
SUITE
- libc_cpp_utils_unittests
+ libc-cpp-utils-tests
SRCS
cstddef_test.cpp
DEPENDS
libc.src.__support.CPP.cstddef
)
-add_libc_unittest(
+add_libc_test(
stringview_test
SUITE
- libc_cpp_utils_unittests
+ libc-cpp-utils-tests
SRCS
stringview_test.cpp
DEPENDS
libc.src.__support.CPP.string_view
)
-add_libc_unittest(
+add_libc_test(
limits_test
SUITE
- libc_cpp_utils_unittests
+ libc-cpp-utils-tests
SRCS
limits_test.cpp
DEPENDS
@@ -41,30 +41,30 @@ add_libc_unittest(
libc.src.__support.uint
)
-add_libc_unittest(
+add_libc_test(
int_seq_test
SUITE
- libc_cpp_utils_unittests
+ libc-cpp-utils-tests
SRCS
integer_sequence_test.cpp
DEPENDS
libc.src.__support.CPP.utility
)
-add_libc_unittest(
+add_libc_test(
atomic_test
SUITE
- libc_cpp_utils_unittests
+ libc-cpp-utils-tests
SRCS
atomic_test.cpp
DEPENDS
libc.src.__support.CPP.atomic
)
-add_libc_unittest(
+add_libc_test(
stringstream_test
SUITE
- libc_cpp_utils_unittests
+ libc-cpp-utils-tests
SRCS
stringstream_test.cpp
DEPENDS
@@ -72,30 +72,32 @@ add_libc_unittest(
libc.src.__support.CPP.stringstream
)
-add_libc_unittest(
+add_libc_test(
optional_test
SUITE
- libc_cpp_utils_unittests
+ libc-cpp-utils-tests
SRCS
optional_test.cpp
DEPENDS
libc.src.__support.CPP.optional
)
-add_libc_unittest(
+add_libc_test(
span_test
SUITE
- libc_cpp_utils_unittests
+ libc-cpp-utils-tests
SRCS
span_test.cpp
DEPENDS
libc.src.__support.CPP.span
)
-add_libc_unittest(
+add_libc_test(
string_test
+ # This test relies on 'realloc' which is not implemented for hermetic tests.
+ UNIT_TEST_ONLY
SUITE
- libc_cpp_utils_unittests
+ libc-cpp-utils-tests
SRCS
string_test.cpp
DEPENDS
diff --git a/libc/test/src/__support/FPUtil/CMakeLists.txt b/libc/test/src/__support/FPUtil/CMakeLists.txt
index 0f57c44b43f1..2e4f7f897773 100644
--- a/libc/test/src/__support/FPUtil/CMakeLists.txt
+++ b/libc/test/src/__support/FPUtil/CMakeLists.txt
@@ -1,10 +1,10 @@
-add_custom_target(libc_fputil_unittests)
+add_custom_target(libc-fputil-tests)
add_fp_unittest(
dyadic_float_test
NEED_MPFR
SUITE
- libc_fputil_unittests
+ libc-fputil-tests
SRCS
dyadic_float_test.cpp
DEPENDS
diff --git a/libc/test/src/__support/File/CMakeLists.txt b/libc/test/src/__support/File/CMakeLists.txt
index 4ee7a3255aee..ad4a5f4f3870 100644
--- a/libc/test/src/__support/File/CMakeLists.txt
+++ b/libc/test/src/__support/File/CMakeLists.txt
@@ -4,10 +4,10 @@ if(NOT (TARGET libc.src.__support.threads.mutex))
return()
endif()
-add_libc_unittest(
+add_libc_test(
file_test
SUITE
- libc_support_unittests
+ libc-support-tests
SRCS
file_test.cpp
LINK_LIBRARIES
@@ -21,10 +21,10 @@ add_libc_unittest(
)
if (TARGET libc.src.__support.File.platform_file)
- add_libc_unittest(
+ add_libc_test(
platform_file_test
SUITE
- libc_support_unittests
+ libc-support-tests
SRCS
platform_file_test.cpp
DEPENDS
diff --git a/libc/test/src/__support/OSUtil/CMakeLists.txt b/libc/test/src/__support/OSUtil/CMakeLists.txt
index 9adac7e73b8f..c8818d4715d0 100644
--- a/libc/test/src/__support/OSUtil/CMakeLists.txt
+++ b/libc/test/src/__support/OSUtil/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_custom_target(libc_osutil_tests)
+add_custom_target(libc-osutil-tests)
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LIBC_TARGET_OS})
add_subdirectory(${LIBC_TARGET_OS})
diff --git a/libc/test/src/__support/OSUtil/linux/x86_64/CMakeLists.txt b/libc/test/src/__support/OSUtil/linux/x86_64/CMakeLists.txt
index e0f2549bd8de..577fd3169cc1 100644
--- a/libc/test/src/__support/OSUtil/linux/x86_64/CMakeLists.txt
+++ b/libc/test/src/__support/OSUtil/linux/x86_64/CMakeLists.txt
@@ -1,6 +1,6 @@
-add_libc_unittest(
- syscall_unittest
- SUITE libc_osutil_tests
+add_libc_test(
+ syscall_test
+ SUITE libc-osutil-tests
SRCS syscall_test.cpp
COMPILE_OPTIONS
-Wno-unused-variable # Only signature tests, declared variables are unused.
diff --git a/libc/test/src/__support/char_vector_test.cpp b/libc/test/src/__support/char_vector_test.cpp
index 70f73729cc51..cbca17828394 100644
--- a/libc/test/src/__support/char_vector_test.cpp
+++ b/libc/test/src/__support/char_vector_test.cpp
@@ -71,8 +71,8 @@ TEST(LlvmLibcCharVectorTest, AppendLong) {
"ABCDEFGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrstuvwxy";
for (size_t i = 0; test_str[i] != '\0'; ++i) {
ASSERT_EQ(v.length(), i);
- v.append(test_str[i]);
+ ASSERT_TRUE(v.append(test_str[i]));
}
- ASSERT_STREQ(v.c_str(), test_str);
ASSERT_EQ(v.length(), size_t(1000));
+ ASSERT_STREQ(v.c_str(), test_str);
}