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 41if(NOT (${LIBC_TARGET_ARCHITECTURE} STREQUAL "x86_64")) 42 return() 43endif() 44 45add_integration_test( 46 loader_tls_test 47 SUITE libc-loader-tests 48 LOADER 49 libc.loader.linux.crt1 50 SRCS 51 tls_test.cpp 52 DEPENDS 53 libc.include.errno 54 libc.include.sys_mman 55 libc.src.errno.errno 56 libc.src.sys.mman.mmap 57) 58