if(NOT (EXISTS ${LIBC_SOURCE_DIR}/loader/linux/${LIBC_TARGET_ARCHITECTURE}))
  message("Skipping loader integration tests for target architecture ${LIBC_TARGET_ARCHITECTURE}.")
  return()
endif()

add_custom_target(libc-loader-tests)
add_dependencies(libc-integration-tests libc-loader-tests)

add_integration_test(
  loader_args_test
  SUITE libc-loader-tests
  LOADER
    libc.loader.linux.crt1
  SRCS
    args_test.cpp
  ARGS
    1 2 3
  ENV
    FRANCE=Paris
    GERMANY=Berlin
)

add_integration_test(
  loader_no_envp_test
  SUITE libc-loader-tests
  LOADER
    libc.loader.linux.crt1
  SRCS
    main_without_envp.cpp
)

add_integration_test(
  loader_no_args_test
  SUITE libc-loader-tests
  LOADER
    libc.loader.linux.crt1
  SRCS
    main_without_args.cpp
)

add_integration_test(
  loader_tls_test
  SUITE libc-loader-tests
  LOADER
    libc.loader.linux.crt1
  SRCS
    tls_test.cpp
  DEPENDS
    libc.include.errno
    libc.include.sys_mman
    libc.src.errno.errno
    libc.src.sys.mman.mmap
)

add_integration_test(
  init_fini_array_test
  SUITE libc-loader-tests
  LOADER
    libc.loader.linux.crt1
  SRCS
    init_fini_array_test.cpp
)
