Files
clang-p2996/libc/test/loader/linux/CMakeLists.txt
Siva Chandra Reddy 261c17c1d3 [libc][NFC] Remove dependecies on entrypoints from loader tests.
A small collection of utils called osutils has been added. These utils
are now used in loader tests instead of the equivalent entrypoints.
The loader can now be built and tested without depending on any entrypoint.
In a follow up change, the relevent entrypoints will be updated to use the
newly added osutils.

Reviewed By: lntue, michaelrj

Differential Revision: https://reviews.llvm.org/D115655
2021-12-13 19:29:29 +00:00

61 lines
1.1 KiB
CMake

if(NOT (EXISTS ${LIBC_SOURCE_DIR}/loader/linux/${LIBC_TARGET_ARCHITECTURE}))
message("Skipping loader tests for target architecture ${LIBC_TARGET_ARCHITECTURE}.")
return()
endif()
add_header_library(
loader_test
HDRS
loader_test.h
DEPENDS
libc.src.__support.OSUtil.osutil
)
add_loader_test(
loader_args_test
SRC
args_test.cpp
DEPENDS
.loader_test
libc.loader.linux.crt1
ARGS
1 2 3
ENV
FRANCE=Paris
GERMANY=Berlin
)
add_loader_test(
loader_no_envp_test
SRC
main_without_envp.cpp
DEPENDS
.loader_test
libc.loader.linux.crt1
)
add_loader_test(
loader_no_args_test
SRC
main_without_args.cpp
DEPENDS
.loader_test
libc.loader.linux.crt1
)
# TODO: Disableing this test temporarily to investigate why gold fails to link
# and produce an executable for this test. Test works all fine with ld.bfd.
#add_loader_test(
# loader_tls_test
# SRC
# tls_test.cpp
# DEPENDS
# libc.config.linux.app_h
# libc.include.errno
# libc.include.sys_mman
# libc.loader.linux.crt1
# libc.src.assert.__assert_fail
# libc.src.errno.__errno_location
# libc.src.sys.mman.mmap
#)