[libc++] Switch a few CI jobs to the minimal Lit configuration

Eventually, this should become the default way of running the tests.
For now, only move a few CI nodes to it, and keep a node that runs the
legacy configuration.

Differential Revision: https://reviews.llvm.org/D97565
This commit is contained in:
Louis Dionne 2021-02-26 13:18:21 -05:00
parent 941269133e
commit b274728b1a
6 changed files with 41 additions and 16 deletions

View File

@ -1,10 +1,3 @@
set(LIBCXX_ENABLE_SHARED OFF CACHE BOOL "")
set(LIBCXXABI_ENABLE_SHARED OFF CACHE BOOL "")
set(LIBUNWIND_ENABLE_SHARED OFF CACHE BOOL "")
# TODO: We should switch this to a from-sratch config with static libraries
# instead and get rid of these options.
set(LIBCXX_LINK_TESTS_WITH_SHARED_LIBCXXABI OFF CACHE BOOL "")
set(LIBCXX_LINK_TESTS_WITH_SHARED_LIBCXX OFF CACHE BOOL "")
set(LIBCXXABI_LINK_TESTS_WITH_SHARED_LIBCXXABI OFF CACHE BOOL "")
set(LIBCXXABI_LINK_TESTS_WITH_SHARED_LIBCXX OFF CACHE BOOL "")

View File

@ -26,6 +26,7 @@ if (LIBCXX_ENABLE_ABI_LINKER_SCRIPT)
set(LIBCXXABI_USE_LLVM_UNWINDER OFF)
endif()
# TODO: Clients using those options should switch to from-scratch Lit configuration files.
option(LIBCXX_LINK_TESTS_WITH_SHARED_LIBCXXABI
"Whether the libc++ tests should link with the shared libc++abi library"
${LIBCXXABI_ENABLE_SHARED})

View File

@ -5,6 +5,7 @@ INSTALL_ROOT = "@CMAKE_BINARY_DIR@"
COMPILER = "@CMAKE_CXX_COMPILER@"
EXEC_ROOT = "@LIBCXX_BINARY_DIR@"
CMAKE_OSX_SYSROOT = "@CMAKE_OSX_SYSROOT@"
TARGET_TRIPLE = "@TARGET_TRIPLE@"
import os
import pipes
@ -22,6 +23,8 @@ config.test_source_root = os.path.join(LIBCXX_ROOT, 'test')
config.test_format = libcxx.test.format.CxxStandardLibraryTest()
config.recursiveExpansionLimit = 10
config.test_exec_root = EXEC_ROOT
if TARGET_TRIPLE:
config.target_triple = TARGET_TRIPLE
# Configure basic substitutions
runPy = os.path.join(LIBCXX_ROOT, 'utils', 'run.py')
@ -35,7 +38,7 @@ config.substitutions.append(('%{compile_flags}',
os.path.join(LIBCXX_ROOT, 'test', 'support'))
))
config.substitutions.append(('%{link_flags}',
'-nostdlib++ -L {0} -lc++ -Wl,-rpath,{0}'.format(
'-nostdlib++ -L {0} -lc++ -Wl,-rpath,{0} -pthread'.format(
os.path.join(INSTALL_ROOT, 'lib'))
))
config.substitutions.append(('%{exec}',

View File

@ -5,6 +5,7 @@ INSTALL_ROOT = "@CMAKE_BINARY_DIR@"
COMPILER = "@CMAKE_CXX_COMPILER@"
EXEC_ROOT = "@LIBCXX_BINARY_DIR@"
CMAKE_OSX_SYSROOT = "@CMAKE_OSX_SYSROOT@"
TARGET_TRIPLE = "@TARGET_TRIPLE@"
import os
import pipes
@ -22,6 +23,8 @@ config.test_source_root = os.path.join(LIBCXX_ROOT, 'test')
config.test_format = libcxx.test.format.CxxStandardLibraryTest()
config.recursiveExpansionLimit = 10
config.test_exec_root = EXEC_ROOT
if TARGET_TRIPLE:
config.target_triple = TARGET_TRIPLE
# Configure basic substitutions
runPy = os.path.join(LIBCXX_ROOT, 'utils', 'run.py')
@ -35,7 +38,7 @@ config.substitutions.append(('%{compile_flags}',
os.path.join(LIBCXX_ROOT, 'test', 'support'))
))
config.substitutions.append(('%{link_flags}',
'-nostdlib++ {} {}'.format(
'-nostdlib++ {} {} -pthread'.format(
os.path.join(INSTALL_ROOT, 'lib', 'libc++.a'),
os.path.join(INSTALL_ROOT, 'lib', 'libc++abi.a'))
))

View File

@ -295,6 +295,17 @@ steps:
- exit_status: -1 # Agent was lost
limit: 2
- label: "Legacy Lit configuration"
command: "libcxx/utils/ci/run-buildbot legacy-test-config"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-builders"
retry:
automatic:
- exit_status: -1 # Agent was lost
limit: 2
- label: "Legacy standalone build"
command: "libcxx/utils/ci/run-buildbot legacy-standalone"
artifact_paths:

View File

@ -183,7 +183,8 @@ generic-cxx03)
export CC=clang
export CXX=clang++
clean
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx03.cmake"
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx03.cmake" \
-DLIBCXX_TEST_CONFIG="${MONOREPO_ROOT}/libcxx/test/configs/libcxx-trunk-shared.cfg.in"
check-cxx-cxxabi
check-abi-list
;;
@ -191,7 +192,8 @@ generic-cxx11)
export CC=clang
export CXX=clang++
clean
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx11.cmake"
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx11.cmake" \
-DLIBCXX_TEST_CONFIG="${MONOREPO_ROOT}/libcxx/test/configs/libcxx-trunk-shared.cfg.in"
check-cxx-cxxabi
check-abi-list
;;
@ -199,7 +201,8 @@ generic-cxx14)
export CC=clang
export CXX=clang++
clean
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx14.cmake"
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx14.cmake" \
-DLIBCXX_TEST_CONFIG="${MONOREPO_ROOT}/libcxx/test/configs/libcxx-trunk-shared.cfg.in"
check-cxx-cxxabi
check-abi-list
;;
@ -207,7 +210,8 @@ generic-cxx17)
export CC=clang
export CXX=clang++
clean
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx17.cmake"
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx17.cmake" \
-DLIBCXX_TEST_CONFIG="${MONOREPO_ROOT}/libcxx/test/configs/libcxx-trunk-shared.cfg.in"
check-cxx-cxxabi
check-abi-list
;;
@ -215,7 +219,8 @@ generic-cxx20)
export CC=clang
export CXX=clang++
clean
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx20.cmake"
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx20.cmake" \
-DLIBCXX_TEST_CONFIG="${MONOREPO_ROOT}/libcxx/test/configs/libcxx-trunk-shared.cfg.in"
check-cxx-cxxabi
check-abi-list
;;
@ -223,7 +228,8 @@ generic-cxx2b)
export CC=clang-tot
export CXX=clang++-tot
clean
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx2b.cmake"
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx2b.cmake" \
-DLIBCXX_TEST_CONFIG="${MONOREPO_ROOT}/libcxx/test/configs/libcxx-trunk-shared.cfg.in"
check-cxx-cxxabi
check-abi-list
;;
@ -246,7 +252,8 @@ generic-static)
export CC=clang
export CXX=clang++
clean
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-static.cmake"
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-static.cmake" \
-DLIBCXX_TEST_CONFIG="${MONOREPO_ROOT}/libcxx/test/configs/libcxx-trunk-static.cfg.in"
check-cxx-cxxabi
;;
generic-32bit)
@ -436,6 +443,13 @@ runtimes-build)
echo "--- Installing libc++ and libc++abi to a fake location"
${NINJA} -C "${BUILD_DIR}" install-cxx install-cxxabi
;;
legacy-test-config)
export CC=clang
export CXX=clang++
clean
generate-cmake -DLIBCXX_TEST_CONFIG="${MONOREPO_ROOT}/libcxx/test/configs/legacy.cfg.in"
check-cxx-cxxabi
;;
legacy-standalone)
export CC=clang
export CXX=clang++