blob: 11e8f2e1bb634188f020094ab73d87f29cf35bd2 [file]
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
libc.test.UnitTest.ErrnoCheckingTest
)
add_header_library(
atoi_test_support
HDRS
AtoiTest.h
DEPENDS
libc.src.errno.errno
libc.src.__support.CPP.limits
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
)
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
libc.test.UnitTest.ErrnoCheckingTest
)
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
libc.test.UnitTest.ErrnoCheckingTest
)
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
libc.test.UnitTest.ErrnoCheckingTest
)
add_libc_test(
strtoint32_test
SUITE
libc-stdlib-tests
SRCS
strtoint32_test.cpp
DEPENDS
libc.hdr.stdint_proxy
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.hdr.stdint_proxy
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
)
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
libc.test.UnitTest.ErrnoCheckingTest
)
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
)
if(LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_DYADIC_FLOAT OR
LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_FLOAT320)
libc_set_definition(strfrom_test_copts "LIBC_COPT_FLOAT_TO_STR_REDUCED_PRECISION")
endif()
add_libc_test(
strfromf_test
SUITE
libc-stdlib-tests
SRCS
strfromf_test.cpp
DEPENDS
libc.src.__support.FPUtil.fp_bits
libc.src.__support.macros.properties.architectures
libc.src.stdlib.strfromf
COMPILE_OPTIONS
${strfrom_test_copts}
)
add_libc_test(
strfromd_test
SUITE
libc-stdlib-tests
SRCS
strfromd_test.cpp
DEPENDS
libc.src.__support.FPUtil.fp_bits
libc.src.__support.macros.properties.architectures
libc.src.stdlib.strfromd
COMPILE_OPTIONS
${strfrom_test_copts}
)
add_libc_test(
strfroml_test
SUITE
libc-stdlib-tests
SRCS
strfroml_test.cpp
DEPENDS
libc.src.__support.FPUtil.fp_bits
libc.src.__support.macros.properties.architectures
libc.src.stdlib.strfroml
COMPILE_OPTIONS
${strfrom_test_copts}
)
add_libc_test(
a64l_test
SUITE
libc-stdlib-tests
SRCS
a64l_test.cpp
DEPENDS
libc.src.stdlib.a64l
)
add_libc_test(
l64a_test
SUITE
libc-stdlib-tests
SRCS
l64a_test.cpp
DEPENDS
libc.src.stdlib.l64a
libc.src.__support.CPP.limits
)
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.hdr.types.div_t
libc.src.stdlib.div
)
add_libc_test(
ldiv_test
SUITE
libc-stdlib-tests
SRCS
ldiv_test.cpp
HDRS
DivTest.h
DEPENDS
libc.hdr.types.ldiv_t
libc.src.stdlib.ldiv
)
add_libc_test(
lldiv_test
SUITE
libc-stdlib-tests
SRCS
lldiv_test.cpp
HDRS
DivTest.h
DEPENDS
libc.hdr.types.lldiv_t
libc.src.stdlib.lldiv
)
add_libc_test(
bsearch_test
SUITE
libc-stdlib-tests
SRCS
bsearch_test.cpp
DEPENDS
libc.hdr.types.size_t
libc.src.stdlib.bsearch
)
add_libc_test(
heap_sort_test
SUITE
libc-stdlib-tests
SRCS
heap_sort_test.cpp
HDRS
SortingTest.h
DEPENDS
libc.src.stdlib.qsort
)
add_libc_test(
quick_sort_test
SUITE
libc-stdlib-tests
SRCS
quick_sort_test.cpp
HDRS
SortingTest.h
DEPENDS
libc.src.stdlib.qsort
)
add_libc_test(
qsort_r_test
SUITE
libc-stdlib-tests
SRCS
qsort_r_test.cpp
HDRS
QsortReentrantTest.h
DEPENDS
libc.src.stdlib.qsort_r
)
add_libc_test(
rand_test
SUITE
libc-stdlib-tests
SRCS
rand_test.cpp
DEPENDS
libc.src.stdlib.rand
libc.src.stdlib.srand
)
add_libc_test(
realpath_test
SUITE
libc-stdlib-tests
SRCS
realpath_test.cpp
DEPENDS
libc.hdr.errno_macros
libc.hdr.func.free
libc.hdr.limits_macros
libc.hdr.types.size_t
libc.src.__support.CPP.string
libc.src.__support.CPP.string_view
libc.src.__support.CPP.utility
libc.src.__support.c_string
libc.src.__support.fixedvector
libc.src.__support.libc_assert
libc.src.__support.libc_errno
libc.src.__support.macros.config
libc.src.__support.OSUtil.path
libc.src.fcntl.openat
libc.src.stdlib.realpath
libc.src.string.strdup
libc.src.sys.random.getrandom
libc.src.sys.stat.mkdirat
libc.src.unistd.chdir
libc.src.unistd.close
libc.src.unistd.getcwd
libc.src.unistd.getpid
libc.src.unistd.symlinkat
libc.src.unistd.unlinkat
libc.test.UnitTest.ErrnoCheckingTest
libc.test.UnitTest.ErrnoSetterMatcher
)
add_libc_test(
memalignment_test
SUITE
libc-stdlib-tests
SRCS
memalignment_test.cpp
DEPENDS
libc.hdr.stdint_proxy
libc.include.stdlib
libc.src.stdlib.memalignment
)
add_libc_test(
mkstemp_test
SUITE
libc-stdlib-tests
SRCS
mkstemp_test.cpp
DEPENDS
libc.hdr.errno_macros
libc.hdr.fcntl_macros
libc.hdr.signal_macros
libc.src.string.strlen
libc.src.stdlib.mkstemp
libc.src.string.strdup
libc.src.unistd.access
libc.src.unistd.close
libc.src.unistd.read
libc.src.unistd.unlink
libc.src.unistd.write
libc.test.UnitTest.ErrnoCheckingTest
)
add_libc_test(
mbtowc_test
SUITE
libc-stdlib-tests
SRCS
mbtowc_test.cpp
DEPENDS
libc.hdr.errno_macros
libc.src.stdlib.mbtowc
libc.hdr.types.wchar_t
libc.test.UnitTest.ErrnoCheckingTest
)
add_libc_test(
mblen_test
SUITE
libc-stdlib-tests
SRCS
mblen_test.cpp
DEPENDS
libc.hdr.errno_macros
libc.src.stdlib.mblen
libc.test.UnitTest.ErrnoCheckingTest
)
add_libc_test(
mbstowcs_test
SUITE
libc-stdlib-tests
SRCS
mbstowcs_test.cpp
DEPENDS
libc.hdr.errno_macros
libc.src.stdlib.mbstowcs
libc.hdr.types.wchar_t
libc.test.UnitTest.ErrnoCheckingTest
)
add_libc_test(
wctomb_test
SUITE
libc-stdlib-tests
SRCS
wctomb_test.cpp
DEPENDS
libc.hdr.errno_macros
libc.src.stdlib.wctomb
libc.hdr.types.wchar_t
)
add_libc_test(
wcstombs_test
SUITE
libc-stdlib-tests
SRCS
wcstombs_test.cpp
DEPENDS
libc.src.stdlib.wcstombs
libc.test.UnitTest.ErrnoCheckingTest
libc.hdr.types.wchar_t
)
if(LLVM_LIBC_FULL_BUILD AND LIBC_TEST_SUBPROCESS_TESTS)
add_libc_test(
_Exit_test
SUITE
libc-stdlib-tests
SRCS
_Exit_test.cpp
DEPENDS
libc.src.__support.OSUtil.osutil
libc.src.stdlib._Exit
)
add_libc_test(
exit_test
SUITE
libc-stdlib-tests
SRCS
exit_test.cpp
DEPENDS
libc.src.stdlib._Exit
libc.src.stdlib.exit
)
add_libc_test(
atexit_test
SUITE
libc-stdlib-tests
SRCS
atexit_test.cpp
DEPENDS
libc.src.stdlib._Exit
libc.src.stdlib.exit
libc.src.stdlib.atexit
libc.src.__support.CPP.array
)
add_libc_test(
at_quick_exit_test
SUITE
libc-stdlib-tests
SRCS
at_quick_exit_test.cpp
DEPENDS
libc.src.stdlib._Exit
libc.src.stdlib.quick_exit
libc.src.stdlib.at_quick_exit
libc.src.__support.CPP.array
)
add_libc_test(
abort_test
SUITE
libc-stdlib-tests
SRCS
abort_test.cpp
DEPENDS
libc.include.signal
libc.src.stdlib.abort
libc.src.stdlib._Exit
libc.src.signal.raise
)
add_libc_test(
quick_exit_test
SUITE
libc-stdlib-tests
SRCS
quick_exit_test.cpp
DEPENDS
libc.include.stdlib
libc.src.stdlib.quick_exit
)
add_libc_test(
system_test
SUITE
libc-stdlib-tests
SRCS
system_test.cpp
DEPENDS
libc.hdr.sys_wait_macros
libc.src.stdlib.system
libc.test.UnitTest.ErrnoCheckingTest
)
endif()
# Only baremetal and GPU has an in-tree 'malloc' implementation.
if((LIBC_TARGET_OS_IS_BAREMETAL OR LIBC_TARGET_OS_IS_GPU) AND
NOT LIBC_TARGET_ARCHITECTURE_IS_NVPTX)
add_libc_test(
malloc_test
SUITE
libc-stdlib-tests
SRCS
malloc_test.cpp
DEPENDS
libc.include.stdlib
libc.src.stdlib.malloc
libc.src.stdlib.free
)
endif()