| if(NOT (EXISTS ${LIBC_SOURCE_DIR}/startup/linux/${LIBC_TARGET_ARCHITECTURE})) | |
| message("Skipping startup integration tests for target architecture ${LIBC_TARGET_ARCHITECTURE}.") | |
| return() | |
| endif() | |
| add_custom_target(libc-startup-tests) | |
| add_dependencies(libc-integration-tests libc-startup-tests) | |
| add_integration_test( | |
| startup_args_test | |
| SUITE libc-startup-tests | |
| SRCS | |
| args_test.cpp | |
| ARGS | |
| 1 2 3 | |
| ENV | |
| FRANCE=Paris | |
| GERMANY=Berlin | |
| ) | |
| add_integration_test( | |
| invocation_name_test | |
| SUITE libc-startup-tests | |
| SRCS | |
| invocation_name_test.cpp | |
| DEPENDS | |
| libc.src.__support.CPP.string_view | |
| libc.src.errno.program_invocation_name | |
| libc.src.errno.program_invocation_short_name | |
| libc.src.unistd.execve | |
| ) | |
| add_integration_test( | |
| startup_no_envp_test | |
| SUITE libc-startup-tests | |
| SRCS | |
| main_without_envp.cpp | |
| ) | |
| add_integration_test( | |
| startup_no_args_test | |
| SUITE libc-startup-tests | |
| SRCS | |
| main_without_args.cpp | |
| ) | |
| add_integration_test( | |
| startup_tls_test | |
| SUITE libc-startup-tests | |
| SRCS | |
| tls_test.cpp | |
| DEPENDS | |
| libc.hdr.sys_mman_macros | |
| libc.include.sys_mman | |
| libc.src.errno.errno | |
| libc.src.sys.mman.mmap | |
| ) | |
| add_integration_test( | |
| init_fini_array_test | |
| SUITE libc-startup-tests | |
| SRCS | |
| init_fini_array_test.cpp | |
| ) | |
| add_integration_test( | |
| startup_irelative_test | |
| SUITE libc-startup-tests | |
| SRCS | |
| irelative_test.cpp | |
| ) | |
| add_integration_test( | |
| startup_irelative_no_ifunc_test | |
| SUITE libc-startup-tests | |
| SRCS | |
| irelative_no_ifunc_test.cpp | |
| ) | |
| add_integration_test( | |
| startup_r_debug_test | |
| SUITE libc-startup-tests | |
| SRCS | |
| r_debug_test.cpp | |
| DEPENDS | |
| libc.include.link | |
| libc.src.link._r_debug | |
| ) |