diff --git a/libcxx/test/configs/apple-libc++-shared.cfg.in b/libcxx/test/configs/apple-libc++-shared.cfg.in --- a/libcxx/test/configs/apple-libc++-shared.cfg.in +++ b/libcxx/test/configs/apple-libc++-shared.cfg.in @@ -7,21 +7,19 @@ # We also don't use a per-target include directory layout, so we have only one # include directory for the libc++ headers. -import sys - lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg') config.substitutions.append(('%{flags}', '-isysroot {}'.format('@CMAKE_OSX_SYSROOT@') if '@CMAKE_OSX_SYSROOT@' else '' )) config.substitutions.append(('%{compile_flags}', - '-nostdinc++ -isystem %{install}/include/c++/v1 -I %{libcxx}/test/support -include %{libcxx}/test/support/nasty_macros.h' + '%{user_compile_flags} -nostdinc++ -isystem %{install}/include/c++/v1 -I %{libcxx}/test/support -include %{libcxx}/test/support/nasty_macros.h' )) config.substitutions.append(('%{link_flags}', - '-nostdlib++ -L %{install}/lib -lc++' + '%{user_link_flags} -nostdlib++ -L %{install}/lib -lc++' )) config.substitutions.append(('%{exec}', - '{} %{{libcxx}}/utils/run.py --execdir %T --env DYLD_LIBRARY_PATH=%{{install}}/lib -- '.format(sys.executable) + '%{executor} --execdir %T --env DYLD_LIBRARY_PATH=%{install}/lib -- ' )) import os, site diff --git a/libcxx/test/configs/cmake-bridge.cfg.in b/libcxx/test/configs/cmake-bridge.cfg.in --- a/libcxx/test/configs/cmake-bridge.cfg.in +++ b/libcxx/test/configs/cmake-bridge.cfg.in @@ -29,3 +29,6 @@ config.substitutions.append(('%{include}', '%{install}/@LIBCXX_INSTALL_INCLUDE_DIR@')) config.substitutions.append(('%{target-include}', '%{install}/@LIBCXX_INSTALL_INCLUDE_TARGET_DIR@')) config.substitutions.append(('%{lib}', '%{install}/@LIBCXX_INSTALL_LIBRARY_DIR@')) +config.substitutions.append(('%{executor}', '@LIBCXX_EXECUTOR@')) +config.substitutions.append(('%{user_compile_flags}', '@LIBCXX_TEST_COMPILER_FLAGS@')) +config.substitutions.append(('%{user_link_flags}', '@LIBCXX_TEST_LINKER_FLAGS@')) diff --git a/libcxx/test/configs/ibm-libc++-shared.cfg.in b/libcxx/test/configs/ibm-libc++-shared.cfg.in --- a/libcxx/test/configs/ibm-libc++-shared.cfg.in +++ b/libcxx/test/configs/ibm-libc++-shared.cfg.in @@ -2,19 +2,17 @@ # AIX using a shared library. # -import sys - lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg') config.substitutions.append(('%{flags}', '')) config.substitutions.append(('%{compile_flags}', - '-nostdinc++ -D__LIBC_NO_CPP_MATH_OVERLOADS__ -isystem %{install}/include/c++/v1 -I %{libcxx}/test/support -include %{libcxx}/test/support/nasty_macros.h' + '%{user_compile_flags} -nostdinc++ -D__LIBC_NO_CPP_MATH_OVERLOADS__ -isystem %{install}/include/c++/v1 -I %{libcxx}/test/support -include %{libcxx}/test/support/nasty_macros.h' )) config.substitutions.append(('%{link_flags}', - '-nostdlib++ -L %{install}/lib -lc++ -lc++abi -latomic -Wl,-bbigtoc' + '%{user_link_flags} -nostdlib++ -L %{install}/lib -lc++ -lc++abi -latomic -Wl,-bbigtoc' )) config.substitutions.append(('%{exec}', - '{} %{{libcxx}}/utils/run.py --execdir %T --env LIBPATH=%{{install}}/lib -- '.format(sys.executable) + '%{executor} --execdir %T --env LIBPATH=%{install}/lib -- ' )) # LIBCXX-AIX-FIXME is the feature name used to XFAIL the diff --git a/libcxx/test/configs/llvm-libc++-shared-gcc.cfg.in b/libcxx/test/configs/llvm-libc++-shared-gcc.cfg.in --- a/libcxx/test/configs/llvm-libc++-shared-gcc.cfg.in +++ b/libcxx/test/configs/llvm-libc++-shared-gcc.cfg.in @@ -2,19 +2,17 @@ # using a shared library, with GCC. This is done differently from Clang because # GCC does not support the -nostdlib++ command-line flag. -import sys - lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg') config.substitutions.append(('%{flags}', '')) config.substitutions.append(('%{compile_flags}', - '-nostdinc++ -isystem %{include} -isystem %{target-include} -I %{libcxx}/test/support -include %{libcxx}/test/support/nasty_macros.h' + '%{user_compile_flags} -nostdinc++ -isystem %{include} -isystem %{target-include} -I %{libcxx}/test/support -include %{libcxx}/test/support/nasty_macros.h' )) config.substitutions.append(('%{link_flags}', - '-L %{lib} -Wl,-rpath,%{lib} -nodefaultlibs -lc++ -lm -lgcc_s -lgcc -lpthread -lc -lgcc_s -lgcc -latomic' + '%{user_link_flags} -L %{lib} -Wl,-rpath,%{lib} -nodefaultlibs -lc++ -lm -lgcc_s -lgcc -lpthread -lc -lgcc_s -lgcc -latomic' )) config.substitutions.append(('%{exec}', - '{} %{{libcxx}}/utils/run.py --execdir %T -- '.format(sys.executable) + '%{executor} --execdir %T -- ' )) import os, site diff --git a/libcxx/test/configs/llvm-libc++-shared.cfg.in b/libcxx/test/configs/llvm-libc++-shared.cfg.in --- a/libcxx/test/configs/llvm-libc++-shared.cfg.in +++ b/libcxx/test/configs/llvm-libc++-shared.cfg.in @@ -1,21 +1,19 @@ # This testing configuration handles running the test suite against LLVM's libc++ # using a shared library. -import sys - lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg') config.substitutions.append(('%{flags}', '-isysroot {}'.format('@CMAKE_OSX_SYSROOT@') if '@CMAKE_OSX_SYSROOT@' else '' )) config.substitutions.append(('%{compile_flags}', - '-nostdinc++ -isystem %{include} -isystem %{target-include} -I %{libcxx}/test/support -include %{libcxx}/test/support/nasty_macros.h' + '%{user_compile_flags} -nostdinc++ -isystem %{include} -isystem %{target-include} -I %{libcxx}/test/support -include %{libcxx}/test/support/nasty_macros.h' )) config.substitutions.append(('%{link_flags}', - '-nostdlib++ -L %{lib} -Wl,-rpath,%{lib} -lc++ -pthread' + '%{user_link_flags} -nostdlib++ -L %{lib} -Wl,-rpath,%{lib} -lc++ -pthread' )) config.substitutions.append(('%{exec}', - '{} %{{libcxx}}/utils/run.py --execdir %T -- '.format(sys.executable) + '%{executor} --execdir %T -- ' )) import os, site diff --git a/libcxx/test/configs/llvm-libc++-static.cfg.in b/libcxx/test/configs/llvm-libc++-static.cfg.in --- a/libcxx/test/configs/llvm-libc++-static.cfg.in +++ b/libcxx/test/configs/llvm-libc++-static.cfg.in @@ -1,21 +1,19 @@ # This testing configuration handles running the test suite against LLVM's libc++ # using a static library. -import sys - lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg') config.substitutions.append(('%{flags}', '-isysroot {}'.format('@CMAKE_OSX_SYSROOT@') if '@CMAKE_OSX_SYSROOT@' else '' )) config.substitutions.append(('%{compile_flags}', - '-nostdinc++ -isystem %{include} -isystem %{target-include} -I %{libcxx}/test/support -include %{libcxx}/test/support/nasty_macros.h' + '%{user_compile_flags} -nostdinc++ -isystem %{include} -isystem %{target-include} -I %{libcxx}/test/support -include %{libcxx}/test/support/nasty_macros.h' )) config.substitutions.append(('%{link_flags}', - '-nostdlib++ -L %{lib} -lc++ -lc++abi -pthread' + '%{user_link_flags} -nostdlib++ -L %{lib} -lc++ -lc++abi -pthread' )) config.substitutions.append(('%{exec}', - '{} %{{libcxx}}/utils/run.py --execdir %T -- '.format(sys.executable) + '%{executor} --execdir %T -- ' )) import os, site diff --git a/libcxxabi/test/configs/apple-libc++abi-shared.cfg.in b/libcxxabi/test/configs/apple-libc++abi-shared.cfg.in --- a/libcxxabi/test/configs/apple-libc++abi-shared.cfg.in +++ b/libcxxabi/test/configs/apple-libc++abi-shared.cfg.in @@ -1,7 +1,5 @@ # Testing configuration for Apple's system libc++abi. -import sys - lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg') config.substitutions.append(('%{flags}', @@ -15,7 +13,7 @@ '-nostdlib++ -L %{install}/lib -lc++ -lc++abi' )) config.substitutions.append(('%{exec}', - '{} %{{libcxx}}/utils/run.py --execdir %T --env DYLD_LIBRARY_PATH=%{{install}}/lib -- '.format(sys.executable) + '%{executor} --execdir %T --env DYLD_LIBRARY_PATH=%{install}/lib -- ' )) import os, site diff --git a/libcxxabi/test/configs/cmake-bridge.cfg.in b/libcxxabi/test/configs/cmake-bridge.cfg.in --- a/libcxxabi/test/configs/cmake-bridge.cfg.in +++ b/libcxxabi/test/configs/cmake-bridge.cfg.in @@ -29,3 +29,4 @@ config.substitutions.append(('%{cxx}', '@CMAKE_CXX_COMPILER@')) config.substitutions.append(('%{libcxx}', '@LIBCXXABI_LIBCXX_PATH@')) config.substitutions.append(('%{install}', '@CMAKE_BINARY_DIR@')) +config.substitutions.append(('%{executor}', '@LIBCXXABI_EXECUTOR@')) diff --git a/libcxxabi/test/configs/ibm-libc++abi-shared.cfg.in b/libcxxabi/test/configs/ibm-libc++abi-shared.cfg.in --- a/libcxxabi/test/configs/ibm-libc++abi-shared.cfg.in +++ b/libcxxabi/test/configs/ibm-libc++abi-shared.cfg.in @@ -1,7 +1,5 @@ # Testing configuration for libc++abi on AIX. -import sys - lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg') config.substitutions.append(('%{flags}','')) @@ -15,7 +13,7 @@ '-nostdlib++ -L %{install}/lib -lc++ -lc++abi -Wl,-bbigtoc' )) config.substitutions.append(('%{exec}', - '{} %{{libcxx}}/utils/run.py --execdir %T --env LIBPATH=%{{install}}/lib -- '.format(sys.executable) + '%{executor} --execdir %T --env LIBPATH=%{install}/lib -- ' )) import os, site