| add_custom_target(libc-string-tests) |
| |
| add_subdirectory(memory_utils) |
| |
| add_libc_test( |
| bcopy_test |
| SUITE |
| libc-string-tests |
| SRCS |
| bcopy_test.cpp |
| DEPENDS |
| libc.src.string.bcopy |
| LINK_LIBRARIES |
| LibcMemoryHelpers |
| ) |
| |
| add_header_library( |
| strchr_test_support |
| HDRS |
| StrchrTest.h |
| ) |
| |
| add_libc_test( |
| index_test |
| SUITE |
| libc-string-tests |
| SRCS |
| index_test.cpp |
| DEPENDS |
| libc.src.string.index |
| .strchr_test_support |
| ) |
| |
| add_libc_test( |
| memccpy_test |
| SUITE |
| libc-string-tests |
| SRCS |
| memccpy_test.cpp |
| DEPENDS |
| libc.src.string.memccpy |
| ) |
| |
| add_libc_test( |
| mempcpy_test |
| SUITE |
| libc-string-tests |
| SRCS |
| mempcpy_test.cpp |
| DEPENDS |
| libc.src.string.mempcpy |
| ) |
| |
| add_libc_test( |
| memmem_test |
| SUITE |
| libc-string-tests |
| SRCS |
| memmem_test.cpp |
| DEPENDS |
| libc.src.string.memmem |
| ) |
| |
| add_libc_test( |
| memchr_test |
| SUITE |
| libc-string-tests |
| SRCS |
| memchr_test.cpp |
| DEPENDS |
| libc.src.string.memchr |
| ) |
| |
| add_libc_test( |
| memrchr_test |
| SUITE |
| libc-string-tests |
| SRCS |
| memrchr_test.cpp |
| DEPENDS |
| libc.src.string.memrchr |
| ) |
| |
| add_libc_test( |
| rindex_test |
| SUITE |
| libc-string-tests |
| SRCS |
| rindex_test.cpp |
| DEPENDS |
| libc.src.string.rindex |
| .strchr_test_support |
| ) |
| |
| add_libc_test( |
| stpcpy_test |
| SUITE |
| libc-string-tests |
| SRCS |
| stpcpy_test.cpp |
| DEPENDS |
| libc.src.string.stpcpy |
| ) |
| |
| add_libc_test( |
| stpncpy_test |
| SUITE |
| libc-string-tests |
| SRCS |
| stpncpy_test.cpp |
| DEPENDS |
| libc.src.string.stpncpy |
| ) |
| |
| add_libc_test( |
| strcat_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strcat_test.cpp |
| DEPENDS |
| libc.src.string.strcat |
| ) |
| |
| add_libc_test( |
| strchr_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strchr_test.cpp |
| DEPENDS |
| libc.src.string.strchr |
| .strchr_test_support |
| ) |
| |
| add_libc_test( |
| strchrnul_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strchrnul_test.cpp |
| DEPENDS |
| libc.src.string.strchrnul |
| ) |
| |
| add_libc_test( |
| strcmp_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strcmp_test.cpp |
| DEPENDS |
| libc.src.string.strcmp |
| ) |
| |
| add_libc_test( |
| strcasecmp_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strcasecmp_test.cpp |
| DEPENDS |
| libc.src.string.strcasecmp |
| ) |
| |
| add_libc_test( |
| strcasestr_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strcasestr_test.cpp |
| DEPENDS |
| libc.src.string.strcasestr |
| ) |
| |
| add_libc_test( |
| strcoll_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strcoll_test.cpp |
| DEPENDS |
| libc.src.string.strcoll |
| ) |
| |
| add_libc_test( |
| strcpy_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strcpy_test.cpp |
| DEPENDS |
| libc.src.string.strcpy |
| ) |
| |
| add_libc_test( |
| strcspn_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strcspn_test.cpp |
| DEPENDS |
| libc.src.string.strcspn |
| ) |
| |
| add_libc_test( |
| strdup_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strdup_test.cpp |
| DEPENDS |
| libc.include.stdlib |
| libc.src.string.strdup |
| libc.src.errno.errno |
| ) |
| |
| add_libc_test( |
| strerror_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strerror_test.cpp |
| DEPENDS |
| libc.src.string.strerror |
| ) |
| |
| |
| add_libc_test( |
| strerror_r_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strerror_r_test.cpp |
| DEPENDS |
| libc.src.string.strerror_r |
| ) |
| |
| add_libc_test( |
| strlcat_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strlcat_test.cpp |
| DEPENDS |
| libc.src.string.strlcat |
| ) |
| |
| add_libc_test( |
| strlcpy_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strlcpy_test.cpp |
| DEPENDS |
| libc.src.string.strlcpy |
| ) |
| |
| add_libc_test( |
| strlen_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strlen_test.cpp |
| DEPENDS |
| libc.src.string.strlen |
| ) |
| |
| add_libc_test( |
| strncat_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strncat_test.cpp |
| DEPENDS |
| libc.src.string.strncat |
| ) |
| |
| add_libc_test( |
| strncmp_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strncmp_test.cpp |
| DEPENDS |
| libc.src.string.strncmp |
| ) |
| |
| add_libc_test( |
| strncasecmp_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strncasecmp_test.cpp |
| DEPENDS |
| libc.src.string.strncasecmp |
| ) |
| |
| add_libc_test( |
| strncpy_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strncpy_test.cpp |
| DEPENDS |
| libc.src.string.strncpy |
| ) |
| |
| add_libc_test( |
| strndup_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strndup_test.cpp |
| DEPENDS |
| libc.include.stdlib |
| libc.src.string.strndup |
| ) |
| |
| add_libc_test( |
| strnlen_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strnlen_test.cpp |
| DEPENDS |
| libc.src.string.strnlen |
| ) |
| |
| add_libc_test( |
| strpbrk_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strpbrk_test.cpp |
| DEPENDS |
| libc.src.string.strpbrk |
| ) |
| |
| add_libc_test( |
| strrchr_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strrchr_test.cpp |
| DEPENDS |
| libc.src.string.strrchr |
| .strchr_test_support |
| ) |
| |
| add_libc_test( |
| strsep_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strsep_test.cpp |
| DEPENDS |
| libc.src.string.strsep |
| ) |
| |
| add_libc_test( |
| strsignal_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strsignal_test.cpp |
| DEPENDS |
| libc.src.string.strsignal |
| ) |
| |
| add_libc_test( |
| strspn_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strspn_test.cpp |
| DEPENDS |
| libc.src.string.strspn |
| ) |
| |
| add_libc_test( |
| strstr_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strstr_test.cpp |
| DEPENDS |
| libc.src.string.strstr |
| ) |
| |
| add_libc_test( |
| strtok_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strtok_test.cpp |
| DEPENDS |
| libc.src.string.strtok |
| ) |
| |
| add_libc_test( |
| strtok_r_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strtok_r_test.cpp |
| DEPENDS |
| libc.src.string.strtok_r |
| ) |
| |
| add_libc_test( |
| strxfrm_test |
| SUITE |
| libc-string-tests |
| SRCS |
| strxfrm_test.cpp |
| DEPENDS |
| libc.src.string.strxfrm |
| ) |
| |
| add_libc_test( |
| memset_explicit_test |
| SUITE |
| libc-string-tests |
| SRCS |
| memset_explicit_test.cpp |
| DEPENDS |
| libc.src.string.memset_explicit |
| ) |
| |
| # Tests all implementations that can run on the target CPU. |
| function(add_libc_multi_impl_test name) |
| get_property(fq_implementations GLOBAL PROPERTY ${name}_implementations) |
| foreach(fq_config_name IN LISTS fq_implementations) |
| get_target_property(required_cpu_features ${fq_config_name} REQUIRE_CPU_FEATURES) |
| cpu_supports(can_run "${required_cpu_features}") |
| if(can_run) |
| string(FIND ${fq_config_name} "." last_dot_loc REVERSE) |
| math(EXPR name_loc "${last_dot_loc} + 1") |
| string(SUBSTRING ${fq_config_name} ${name_loc} -1 target_name) |
| add_libc_test( |
| ${target_name}_test |
| SUITE |
| libc-string-tests |
| COMPILE_OPTIONS |
| ${LIBC_COMPILE_OPTIONS_NATIVE} |
| LINK_LIBRARIES |
| LibcMemoryHelpers |
| ${ARGN} |
| DEPENDS |
| ${fq_config_name} |
| libc.src.__support.macros.sanitizer |
| ) |
| get_fq_target_name(${fq_config_name}_test fq_target_name) |
| else() |
| message(STATUS "Skipping test for '${fq_config_name}' insufficient host cpu features '${required_cpu_features}'") |
| endif() |
| endforeach() |
| endfunction() |
| |
| add_libc_multi_impl_test(bcmp SRCS bcmp_test.cpp) |
| add_libc_multi_impl_test(bzero SRCS bzero_test.cpp) |
| add_libc_multi_impl_test(memcmp SRCS memcmp_test.cpp) |
| add_libc_multi_impl_test(memcpy SRCS memcpy_test.cpp) |
| add_libc_multi_impl_test(memmove SRCS memmove_test.cpp) |
| add_libc_multi_impl_test(memset SRCS memset_test.cpp) |