add_custom_target(libc-stdlib-tests) add_libc_test( atof_test SUITE libc-stdlib-tests SRCS atof_test.cpp DEPENDS libc.src.errno.errno libc.src.stdlib.atof ) add_header_library( atoi_test_support HDRS AtoiTest.h DEPENDS libc.src.errno.errno libc.src.__support.CPP.type_traits ) add_libc_test( atoi_test SUITE libc-stdlib-tests SRCS atoi_test.cpp DEPENDS .atoi_test_support libc.src.stdlib.atoi ) add_libc_test( atol_test SUITE libc-stdlib-tests SRCS atol_test.cpp DEPENDS .atoi_test_support libc.src.stdlib.atol ) add_libc_test( atoll_test SUITE libc-stdlib-tests SRCS atoll_test.cpp DEPENDS .atoi_test_support libc.src.stdlib.atoll ) # This fails on NVPTX where the output value is one-off of the expected value. if(NOT LIBC_GPU_TARGET_ARCHITECTURE_IS_NVPTX) add_fp_unittest( strtod_test SUITE libc-stdlib-tests SRCS strtod_test.cpp DEPENDS libc.src.errno.errno libc.src.stdlib.strtod libc.src.__support.FPUtil.fenv_impl ) endif() add_fp_unittest( strtof_test SUITE libc-stdlib-tests SRCS strtof_test.cpp DEPENDS libc.src.errno.errno libc.src.stdlib.strtof libc.src.__support.FPUtil.fenv_impl ) add_header_library( strtol_test_support HDRS StrtolTest.h DEPENDS libc.src.__support.CPP.limits libc.src.__support.CPP.type_traits libc.src.errno.errno ) add_libc_test( strtoint32_test SUITE libc-stdlib-tests SRCS strtoint32_test.cpp DEPENDS libc.src.__support.str_to_integer libc.src.errno.errno .strtol_test_support ) add_libc_test( strtoint64_test SUITE libc-stdlib-tests SRCS strtoint64_test.cpp DEPENDS libc.src.__support.str_to_integer libc.src.errno.errno .strtol_test_support ) add_libc_test( strtol_test SUITE libc-stdlib-tests SRCS strtol_test.cpp DEPENDS libc.src.stdlib.strtol .strtol_test_support ) # This fails on NVPTX where the output value is one-off of the expected value. if(NOT LIBC_GPU_TARGET_ARCHITECTURE_IS_NVPTX) add_libc_test( strtold_test SUITE libc-stdlib-tests SRCS strtold_test.cpp DEPENDS libc.src.errno.errno libc.src.__support.uint128 libc.src.stdlib.strtold ) endif() add_libc_test( strtoll_test SUITE libc-stdlib-tests SRCS strtoll_test.cpp DEPENDS libc.src.stdlib.strtoll .strtol_test_support ) add_libc_test( strtoul_test SUITE libc-stdlib-tests SRCS strtoul_test.cpp DEPENDS libc.src.stdlib.strtoul .strtol_test_support ) add_libc_test( strtoull_test SUITE libc-stdlib-tests SRCS strtoull_test.cpp DEPENDS libc.src.stdlib.strtoull .strtol_test_support ) add_libc_test( abs_test SUITE libc-stdlib-tests SRCS abs_test.cpp DEPENDS libc.src.stdlib.abs ) add_libc_test( labs_test SUITE libc-stdlib-tests SRCS labs_test.cpp DEPENDS libc.src.stdlib.labs ) add_libc_test( llabs_test SUITE libc-stdlib-tests SRCS llabs_test.cpp DEPENDS libc.src.stdlib.llabs ) add_libc_test( div_test SUITE libc-stdlib-tests SRCS div_test.cpp HDRS DivTest.h DEPENDS libc.include.stdlib libc.src.stdlib.div ) add_libc_test( ldiv_test SUITE libc-stdlib-tests SRCS ldiv_test.cpp HDRS DivTest.h DEPENDS libc.include.stdlib libc.src.stdlib.ldiv ) add_libc_test( lldiv_test SUITE libc-stdlib-tests SRCS lldiv_test.cpp HDRS DivTest.h DEPENDS libc.include.stdlib libc.src.stdlib.lldiv ) add_libc_test( bsearch_test SUITE libc-stdlib-tests SRCS bsearch_test.cpp DEPENDS libc.include.stdlib libc.src.stdlib.bsearch ) add_libc_test( qsort_test SUITE libc-stdlib-tests SRCS qsort_test.cpp DEPENDS libc.include.stdlib libc.src.stdlib.qsort ) add_libc_test( qsort_r_test SUITE libc-stdlib-tests SRCS qsort_r_test.cpp DEPENDS libc.include.stdlib libc.src.stdlib.qsort_r ) add_libc_test( rand_test SUITE libc-stdlib-tests SRCS rand_test.cpp DEPENDS libc.include.stdlib libc.src.stdlib.rand libc.src.stdlib.srand ) if(LLVM_LIBC_FULL_BUILD) add_libc_test( _Exit_test # The EXPECT_EXITS test is only availible for unit tests. UNIT_TEST_ONLY SUITE libc-stdlib-tests SRCS _Exit_test.cpp DEPENDS libc.include.stdlib libc.src.stdlib._Exit libc.src.stdlib.exit ) add_libc_test( atexit_test # The EXPECT_EXITS test is only availible for unit tests. UNIT_TEST_ONLY SUITE libc-stdlib-tests SRCS atexit_test.cpp DEPENDS libc.include.stdlib libc.src.stdlib._Exit libc.src.stdlib.exit libc.src.stdlib.atexit libc.src.__support.CPP.array libc.src.__support.CPP.utility ) add_libc_test( abort_test # The EXPECT_DEATH test is only availible for unit tests. UNIT_TEST_ONLY SUITE libc-stdlib-tests SRCS abort_test.cpp DEPENDS libc.include.stdlib libc.include.signal libc.src.stdlib.abort libc.src.stdlib._Exit libc.src.signal.raise ) # Only the GPU has an in-tree 'malloc' implementation. if(LIBC_TARGET_ARCHITECTURE_IS_GPU) add_libc_test( malloc_test HERMETIC_TEST_ONLY SUITE libc-stdlib-tests SRCS malloc_test.cpp DEPENDS libc.include.stdlib libc.src.stdlib.malloc libc.src.stdlib.free ) endif() endif()