1if(NOT (EXISTS ${LIBC_SOURCE_DIR}/loader/linux/${LIBC_TARGET_ARCHITECTURE}))
2  message("Skipping loader integration tests for target architecture ${LIBC_TARGET_ARCHITECTURE}.")
3  return()
4endif()
5
6add_custom_target(libc-loader-tests)
7add_dependencies(libc-integration-tests libc-loader-tests)
8
9add_integration_test(
10  loader_args_test
11  SUITE libc-loader-tests
12  LOADER
13    libc.loader.linux.crt1
14  SRCS
15    args_test.cpp
16  ARGS
17    1 2 3
18  ENV
19    FRANCE=Paris
20    GERMANY=Berlin
21)
22
23add_integration_test(
24  loader_no_envp_test
25  SUITE libc-loader-tests
26  LOADER
27    libc.loader.linux.crt1
28  SRCS
29    main_without_envp.cpp
30)
31
32add_integration_test(
33  loader_no_args_test
34  SUITE libc-loader-tests
35  LOADER
36    libc.loader.linux.crt1
37  SRCS
38    main_without_args.cpp
39)
40
41add_integration_test(
42  loader_tls_test
43  SUITE libc-loader-tests
44  LOADER
45    libc.loader.linux.crt1
46  SRCS
47    tls_test.cpp
48  DEPENDS
49    libc.include.errno
50    libc.include.sys_mman
51    libc.src.errno.errno
52    libc.src.sys.mman.mmap
53)
54