1add_libc_testsuite(libc_string_unittests) 2 3add_subdirectory(memory_utils) 4 5add_libc_unittest( 6 memccpy_test 7 SUITE 8 libc_string_unittests 9 SRCS 10 memccpy_test.cpp 11 DEPENDS 12 libc.src.string.memccpy 13) 14 15add_libc_unittest( 16 mempcpy_test 17 SUITE 18 libc_string_unittests 19 SRCS 20 mempcpy_test.cpp 21 DEPENDS 22 libc.src.string.mempcpy 23) 24 25add_libc_unittest( 26 memchr_test 27 SUITE 28 libc_string_unittests 29 SRCS 30 memchr_test.cpp 31 DEPENDS 32 libc.src.string.memchr 33) 34 35add_libc_unittest( 36 memrchr_test 37 SUITE 38 libc_string_unittests 39 SRCS 40 memrchr_test.cpp 41 DEPENDS 42 libc.src.string.memrchr 43) 44 45add_libc_unittest( 46 strcat_test 47 SUITE 48 libc_string_unittests 49 SRCS 50 strcat_test.cpp 51 DEPENDS 52 libc.src.string.strcat 53) 54 55add_libc_unittest( 56 strchr_test 57 SUITE 58 libc_string_unittests 59 SRCS 60 strchr_test.cpp 61 DEPENDS 62 libc.src.string.strchr 63) 64 65add_libc_unittest( 66 strcmp_test 67 SUITE 68 libc_string_unittests 69 SRCS 70 strcmp_test.cpp 71 DEPENDS 72 libc.src.string.strcmp 73) 74 75add_libc_unittest( 76 strcpy_test 77 SUITE 78 libc_string_unittests 79 SRCS 80 strcpy_test.cpp 81 DEPENDS 82 libc.src.string.strcpy 83) 84 85add_libc_unittest( 86 strcspn_test 87 SUITE 88 libc_string_unittests 89 SRCS 90 strcspn_test.cpp 91 DEPENDS 92 libc.src.string.strcspn 93) 94 95add_libc_unittest( 96 strlen_test 97 SUITE 98 libc_string_unittests 99 SRCS 100 strlen_test.cpp 101 DEPENDS 102 libc.src.string.strlen 103) 104 105add_libc_unittest( 106 strncat_test 107 SUITE 108 libc_string_unittests 109 SRCS 110 strncat_test.cpp 111 DEPENDS 112 libc.src.string.strncat 113) 114 115add_libc_unittest( 116 strncmp_test 117 SUITE 118 libc_string_unittests 119 SRCS 120 strncmp_test.cpp 121 DEPENDS 122 libc.src.string.strncmp 123) 124 125add_libc_unittest( 126 strncpy_test 127 SUITE 128 libc_string_unittests 129 SRCS 130 strncpy_test.cpp 131 DEPENDS 132 libc.src.string.strncpy 133) 134 135add_libc_unittest( 136 strnlen_test 137 SUITE 138 libc_string_unittests 139 SRCS 140 strnlen_test.cpp 141 DEPENDS 142 libc.src.string.strnlen 143) 144 145add_libc_unittest( 146 strpbrk_test 147 SUITE 148 libc_string_unittests 149 SRCS 150 strpbrk_test.cpp 151 DEPENDS 152 libc.src.string.strpbrk 153) 154 155add_libc_unittest( 156 strrchr_test 157 SUITE 158 libc_string_unittests 159 SRCS 160 strrchr_test.cpp 161 DEPENDS 162 libc.src.string.strrchr 163) 164 165add_libc_unittest( 166 strspn_test 167 SUITE 168 libc_string_unittests 169 SRCS 170 strspn_test.cpp 171 DEPENDS 172 libc.src.string.strspn 173) 174 175add_libc_unittest( 176 strstr_test 177 SUITE 178 libc_string_unittests 179 SRCS 180 strstr_test.cpp 181 DEPENDS 182 libc.src.string.strstr 183) 184 185add_libc_unittest( 186 strtok_test 187 SUITE 188 libc_string_unittests 189 SRCS 190 strtok_test.cpp 191 DEPENDS 192 libc.src.string.strtok 193) 194 195add_libc_unittest( 196 strtok_r_test 197 SUITE 198 libc_string_unittests 199 SRCS 200 strtok_r_test.cpp 201 DEPENDS 202 libc.src.string.strtok_r 203) 204 205# Tests all implementations that can run on the target CPU. 206function(add_libc_multi_impl_test name) 207 get_property(fq_implementations GLOBAL PROPERTY ${name}_implementations) 208 foreach(fq_config_name IN LISTS fq_implementations) 209 get_target_property(required_cpu_features ${fq_config_name} REQUIRE_CPU_FEATURES) 210 cpu_supports(can_run "${required_cpu_features}") 211 if(can_run) 212 add_libc_unittest( 213 ${fq_config_name}_test 214 SUITE 215 libc_string_unittests 216 DEPENDS 217 ${fq_config_name} 218 COMPILE_OPTIONS 219 ${LIBC_COMPILE_OPTIONS_NATIVE} 220 ${ARGN} 221 ) 222 else() 223 message(STATUS "Skipping test for '${fq_config_name}' insufficient host cpu features '${required_cpu_features}'") 224 endif() 225 endforeach() 226endfunction() 227 228add_libc_multi_impl_test(bcmp SRCS bcmp_test.cpp) 229add_libc_multi_impl_test(bzero SRCS bzero_test.cpp) 230add_libc_multi_impl_test(memcmp SRCS memcmp_test.cpp) 231add_libc_multi_impl_test(memcpy SRCS memcpy_test.cpp) 232add_libc_multi_impl_test(memmove SRCS memmove_test.cpp) 233add_libc_multi_impl_test(memset SRCS memset_test.cpp) 234