544 lines · plain
1add_custom_target(libc-stdlib-tests)2 3add_libc_test(4 atof_test5 SUITE6 libc-stdlib-tests7 SRCS8 atof_test.cpp9 DEPENDS10 libc.src.errno.errno11 libc.src.stdlib.atof12 libc.test.UnitTest.ErrnoCheckingTest13)14 15add_header_library(16 atoi_test_support17 HDRS18 AtoiTest.h19 DEPENDS20 libc.src.errno.errno21 libc.src.__support.CPP.limits22 libc.src.__support.CPP.type_traits23)24 25add_libc_test(26 atoi_test27 SUITE28 libc-stdlib-tests29 SRCS30 atoi_test.cpp31 DEPENDS32 .atoi_test_support33 libc.src.stdlib.atoi34)35 36add_libc_test(37 atol_test38 SUITE39 libc-stdlib-tests40 SRCS41 atol_test.cpp42 DEPENDS43 .atoi_test_support44 libc.src.stdlib.atol45)46 47add_libc_test(48 atoll_test49 SUITE50 libc-stdlib-tests51 SRCS52 atoll_test.cpp53 DEPENDS54 .atoi_test_support55 libc.src.stdlib.atoll56)57 58add_fp_unittest(59 strtod_test60 SUITE61 libc-stdlib-tests62 SRCS63 strtod_test.cpp64 DEPENDS65 libc.src.errno.errno66 libc.src.stdlib.strtod67 libc.src.__support.FPUtil.fenv_impl68 libc.test.UnitTest.ErrnoCheckingTest69)70 71add_fp_unittest(72 strtof_test73 SUITE74 libc-stdlib-tests75 SRCS76 strtof_test.cpp77 DEPENDS78 libc.src.errno.errno79 libc.src.stdlib.strtof80 libc.src.__support.FPUtil.fenv_impl81 libc.test.UnitTest.ErrnoCheckingTest82)83 84add_header_library(85 strtol_test_support86 HDRS87 StrtolTest.h88 DEPENDS89 libc.src.__support.CPP.limits90 libc.src.__support.CPP.type_traits91 libc.src.errno.errno92 libc.test.UnitTest.ErrnoCheckingTest93)94 95add_libc_test(96 strtoint32_test97 SUITE98 libc-stdlib-tests99 SRCS100 strtoint32_test.cpp101 DEPENDS102 libc.hdr.stdint_proxy103 libc.src.__support.str_to_integer104 libc.src.errno.errno105 .strtol_test_support106)107 108add_libc_test(109 strtoint64_test110 SUITE111 libc-stdlib-tests112 SRCS113 strtoint64_test.cpp114 DEPENDS115 libc.hdr.stdint_proxy116 libc.src.__support.str_to_integer117 libc.src.errno.errno118 .strtol_test_support119)120 121add_libc_test(122 strtol_test123 SUITE124 libc-stdlib-tests125 SRCS126 strtol_test.cpp127 DEPENDS128 libc.src.stdlib.strtol129 .strtol_test_support130)131 132add_libc_test(133 strtold_test134 SUITE135 libc-stdlib-tests136 SRCS137 strtold_test.cpp138 DEPENDS139 libc.src.errno.errno140 libc.src.__support.uint128141 libc.src.stdlib.strtold142 libc.test.UnitTest.ErrnoCheckingTest143)144 145add_libc_test(146 strtoll_test147 SUITE148 libc-stdlib-tests149 SRCS150 strtoll_test.cpp151 DEPENDS152 libc.src.stdlib.strtoll153 .strtol_test_support154)155 156add_libc_test(157 strtoul_test158 SUITE159 libc-stdlib-tests160 SRCS161 strtoul_test.cpp162 DEPENDS163 libc.src.stdlib.strtoul164 .strtol_test_support165)166 167add_libc_test(168 strtoull_test169 SUITE170 libc-stdlib-tests171 SRCS172 strtoull_test.cpp173 DEPENDS174 libc.src.stdlib.strtoull175 .strtol_test_support176)177 178if(LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_DYADIC_FLOAT OR179 LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_FLOAT320)180 list(APPEND strfrom_test_copts "-DLIBC_COPT_FLOAT_TO_STR_REDUCED_PRECISION")181endif()182 183add_header_library(184 strfrom_test_support185 HDRS186 StrfromTest.h187 DEPENDS188 libc.src.__support.CPP.type_traits189 libc.src.__support.FPUtil.fp_bits190 libc.src.__support.macros.properties.architectures191)192 193add_libc_test(194 strfromf_test195 SUITE196 libc-stdlib-tests197 SRCS198 strfromf_test.cpp199 DEPENDS200 .strfrom_test_support201 libc.src.stdlib.strfromf202 COMPILE_OPTIONS203 ${strfrom_test_copts}204)205 206add_libc_test(207 strfromd_test208 SUITE209 libc-stdlib-tests210 SRCS211 strfromd_test.cpp212 DEPENDS213 .strfrom_test_support214 libc.src.stdlib.strfromd215 COMPILE_OPTIONS216 ${strfrom_test_copts}217)218 219add_libc_test(220 strfroml_test221 SUITE222 libc-stdlib-tests223 SRCS224 strfroml_test.cpp225 DEPENDS226 .strfrom_test_support227 libc.src.stdlib.strfroml228 COMPILE_OPTIONS229 ${strfrom_test_copts}230)231 232add_libc_test(233 a64l_test234 SUITE235 libc-stdlib-tests236 SRCS237 a64l_test.cpp238 DEPENDS239 libc.src.stdlib.a64l240)241 242add_libc_test(243 l64a_test244 SUITE245 libc-stdlib-tests246 SRCS247 l64a_test.cpp248 DEPENDS249 libc.src.stdlib.l64a250 libc.src.__support.CPP.limits251)252 253add_libc_test(254 abs_test255 SUITE256 libc-stdlib-tests257 SRCS258 abs_test.cpp259 DEPENDS260 libc.src.stdlib.abs261)262 263add_libc_test(264 labs_test265 SUITE266 libc-stdlib-tests267 SRCS268 labs_test.cpp269 DEPENDS270 libc.src.stdlib.labs271)272 273add_libc_test(274 llabs_test275 SUITE276 libc-stdlib-tests277 SRCS278 llabs_test.cpp279 DEPENDS280 libc.src.stdlib.llabs281)282 283add_libc_test(284 div_test285 SUITE286 libc-stdlib-tests287 SRCS288 div_test.cpp289 HDRS290 DivTest.h291 DEPENDS292 libc.hdr.types.div_t293 libc.src.stdlib.div294)295 296add_libc_test(297 ldiv_test298 SUITE299 libc-stdlib-tests300 SRCS301 ldiv_test.cpp302 HDRS303 DivTest.h304 DEPENDS305 libc.hdr.types.ldiv_t306 libc.src.stdlib.ldiv307)308 309add_libc_test(310 lldiv_test311 SUITE312 libc-stdlib-tests313 SRCS314 lldiv_test.cpp315 HDRS316 DivTest.h317 DEPENDS318 libc.hdr.types.lldiv_t319 libc.src.stdlib.lldiv320)321 322add_libc_test(323 bsearch_test324 SUITE325 libc-stdlib-tests326 SRCS327 bsearch_test.cpp328 DEPENDS329 libc.hdr.types.size_t330 libc.src.stdlib.bsearch331)332 333add_libc_test(334 heap_sort_test335 SUITE336 libc-stdlib-tests337 SRCS338 heap_sort_test.cpp339 HDRS340 SortingTest.h341 DEPENDS342 libc.src.stdlib.qsort343)344 345add_libc_test(346 quick_sort_test347 SUITE348 libc-stdlib-tests349 SRCS350 quick_sort_test.cpp351 HDRS352 SortingTest.h353 DEPENDS354 libc.src.stdlib.qsort355)356 357add_libc_test(358 qsort_r_test359 SUITE360 libc-stdlib-tests361 SRCS362 qsort_r_test.cpp363 DEPENDS364 libc.hdr.types.size_t365 libc.src.stdlib.qsort_r366)367 368add_libc_test(369 rand_test370 SUITE371 libc-stdlib-tests372 SRCS373 rand_test.cpp374 DEPENDS375 libc.src.stdlib.rand376 libc.src.stdlib.srand377)378 379add_libc_test(380 memalignment_test381 SUITE382 libc-stdlib-tests383 SRCS384 memalignment_test.cpp385 DEPENDS386 libc.hdr.stdint_proxy387 libc.include.stdlib388 libc.src.stdlib.memalignment389)390 391add_libc_test(392 mbtowc_test393 SUITE394 libc-stdlib-tests395 SRCS396 mbtowc_test.cpp397 DEPENDS398 libc.hdr.errno_macros399 libc.src.stdlib.mbtowc400 libc.hdr.types.wchar_t401 libc.test.UnitTest.ErrnoCheckingTest402)403 404add_libc_test(405 mbstowcs_test406 SUITE407 libc-stdlib-tests408 SRCS409 mbstowcs_test.cpp410 DEPENDS411 libc.hdr.errno_macros412 libc.src.stdlib.mbstowcs413 libc.hdr.types.wchar_t414 libc.test.UnitTest.ErrnoCheckingTest415)416 417add_libc_test(418 wctomb_test419 SUITE420 libc-stdlib-tests421 SRCS422 wctomb_test.cpp423 DEPENDS424 libc.hdr.errno_macros425 libc.src.stdlib.wctomb426 libc.hdr.types.wchar_t427)428 429add_libc_test(430 wcstombs_test431 SUITE432 libc-stdlib-tests433 SRCS434 wcstombs_test.cpp435 DEPENDS436 libc.src.stdlib.wcstombs437 libc.test.UnitTest.ErrnoCheckingTest438 libc.hdr.types.wchar_t439)440 441if(LLVM_LIBC_FULL_BUILD)442 443 add_libc_test(444 _Exit_test445 # The EXPECT_EXITS test is only availible for unit tests.446 UNIT_TEST_ONLY447 SUITE448 libc-stdlib-tests449 SRCS450 _Exit_test.cpp451 DEPENDS452 libc.src.__support.OSUtil.osutil453 libc.src.stdlib._Exit454 )455 456 add_libc_test(457 exit_test458 # The EXPECT_EXITS test is only availible for unit tests.459 UNIT_TEST_ONLY460 SUITE461 libc-stdlib-tests462 SRCS463 exit_test.cpp464 DEPENDS465 libc.src.stdlib._Exit466 libc.src.stdlib.exit467 )468 469 add_libc_test(470 atexit_test471 # The EXPECT_EXITS test is only availible for unit tests.472 UNIT_TEST_ONLY473 SUITE474 libc-stdlib-tests475 SRCS476 atexit_test.cpp477 DEPENDS478 libc.src.stdlib._Exit479 libc.src.stdlib.exit480 libc.src.stdlib.atexit481 libc.src.__support.CPP.array482 )483 484 add_libc_test(485 at_quick_exit_test486 # The EXPECT_EXITS test is only availible for unit tests.487 UNIT_TEST_ONLY488 SUITE489 libc-stdlib-tests490 SRCS491 at_quick_exit_test.cpp492 DEPENDS493 libc.src.stdlib._Exit494 libc.src.stdlib.quick_exit495 libc.src.stdlib.at_quick_exit496 libc.src.__support.CPP.array497 )498 499 add_libc_test(500 abort_test501 # The EXPECT_DEATH test is only availible for unit tests.502 UNIT_TEST_ONLY503 SUITE504 libc-stdlib-tests505 SRCS506 abort_test.cpp507 DEPENDS508 libc.include.signal509 libc.src.stdlib.abort510 libc.src.stdlib._Exit511 libc.src.signal.raise512 )513 514 add_libc_test(515 quick_exit_test516 # The EXPECT_EXITS test is only availible for unit tests.517 UNIT_TEST_ONLY518 SUITE519 libc-stdlib-tests520 SRCS521 quick_exit_test.cpp522 DEPENDS523 libc.include.stdlib524 libc.src.stdlib.quick_exit525 )526 527 # Only baremetal and GPU has an in-tree 'malloc' implementation.528 if((LIBC_TARGET_OS_IS_BAREMETAL OR LIBC_TARGET_OS_IS_GPU) AND529 NOT LIBC_TARGET_ARCHITECTURE_IS_NVPTX)530 add_libc_test(531 malloc_test532 HERMETIC_TEST_ONLY533 SUITE534 libc-stdlib-tests535 SRCS536 malloc_test.cpp537 DEPENDS538 libc.include.stdlib539 libc.src.stdlib.malloc540 libc.src.stdlib.free541 )542 endif()543endif()544