Skip to content

Commit d83a17f

Browse files
committed
[build-script] Move dotest arguments up to the configuration phase.
Rather than constructing the dotest arguments at test-time, we should build them at configuration time and have CMake know about them. That way you can run check-lldb in the LLDB build directory and have the same behavior compared to running the test suite with build script. (cherry picked from commit 5b5b5d5)
1 parent d7f830d commit d83a17f

File tree

1 file changed

+38
-34
lines changed

1 file changed

+38
-34
lines changed

utils/build-script-impl

Lines changed: 38 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2454,16 +2454,49 @@ for host in "${ALL_HOSTS[@]}"; do
24542454
LLDB_IS_BUILDBOT_BUILD=0
24552455
fi
24562456

2457-
# Get the build date
2457+
# Get the build date.
24582458
LLDB_BUILD_DATE=$(date +%Y-%m-%d)
24592459

2460-
2460+
# Pick the right cache.
24612461
if [[ "$(uname -s)" == "Darwin" ]] ; then
24622462
cmake_cache="Apple-lldb-macOS.cmake"
24632463
else
24642464
cmake_cache="Apple-lldb-Linux.cmake"
24652465
fi
24662466

2467+
# Watchpoint testing is currently disabled: see rdar://38566150.
2468+
LLDB_TEST_CATEGORIES="--skip-category=watchpoint"
2469+
2470+
# Skip DWO to speed up swift testing.
2471+
if [[ "$(true_false ${LLDB_TEST_SWIFT_ONLY})" == "TRUE" ]]; then
2472+
LLDB_TEST_CATEGORIES="${LLDB_TEST_CATEGORIES} --skip-category=dwo"
2473+
fi
2474+
2475+
# Options to find the just-built libddispatch and Foundation.
2476+
if [[ "$(uname -s)" == "Darwin" || "${SKIP_BUILD_FOUNDATION}" ]] ; then
2477+
DOTEST_EXTRA=""
2478+
else
2479+
# This assumes that there are no spaces in any on these paths.
2480+
LIBDISPATCH_BUILD_DIR="$(build_directory ${host} libdispatch)"
2481+
FOUNDATION_BUILD_DIR=$(build_directory ${host} foundation)
2482+
DOTEST_EXTRA="-I${FOUNDATION_BUILD_DIR}"
2483+
DOTEST_EXTRA="${DOTEST_EXTRA} -Xcc -F${FOUNDATION_BUILD_DIR}"
2484+
DOTEST_EXTRA="${DOTEST_EXTRA} -I${FOUNDATION_BUILD_DIR}/swift"
2485+
DOTEST_EXTRA="${DOTEST_EXTRA} -I${LIBDISPATCH_SOURCE_DIR}"
2486+
DOTEST_EXTRA="${DOTEST_EXTRA} -L${FOUNDATION_BUILD_DIR}"
2487+
DOTEST_EXTRA="${DOTEST_EXTRA} -L${LIBDISPATCH_BUILD_DIR}"
2488+
DOTEST_EXTRA="${DOTEST_EXTRA} -L${LIBDISPATCH_BUILD_DIR}/src"
2489+
DOTEST_EXTRA="${DOTEST_EXTRA} -Xlinker -rpath -Xlinker ${LIBDISPATCH_BUILD_DIR}/src"
2490+
DOTEST_EXTRA="${DOTEST_EXTRA} -Xlinker -rpath -Xlinker ${LIBDISPATCH_BUILD_DIR}"
2491+
DOTEST_EXTRA="${DOTEST_EXTRA} -Xlinker -rpath -Xlinker ${FOUNDATION_BUILD_DIR}"
2492+
fi
2493+
2494+
# Construct dotest arguments.
2495+
DOTEST_ARGS="--build-dir ${lldb_build_dir}/lldb-test-build.noindex \
2496+
${LLDB_TEST_CATEGORIES} \
2497+
-t \
2498+
-E \"${DOTEST_EXTRA}\""
2499+
24672500
cmake_options=(
24682501
"${cmake_options[@]}"
24692502
-C${LLDB_SOURCE_DIR}/cmake/caches/${cmake_cache}
@@ -2480,6 +2513,7 @@ for host in "${ALL_HOSTS[@]}"; do
24802513
-DLLDB_BUILD_DATE:STRING="\"${LLDB_BUILD_DATE}\""
24812514
-DLLDB_ALLOW_STATIC_BINDINGS:BOOL=1
24822515
-DLLDB_INCLUDE_TESTS:BOOL=$(false_true ${BUILD_TOOLCHAIN_ONLY})
2516+
-DLLDB_TEST_USER_ARGS="${DOTEST_ARGS}"
24832517
)
24842518

24852519
if [[ "$(uname -s)" == "Darwin" ]] ; then
@@ -2979,30 +3013,8 @@ for host in "${ALL_HOSTS[@]}"; do
29793013
fi
29803014
llvm_build_dir=$(build_directory ${host} llvm)
29813015
lldb_build_dir=$(build_directory ${host} lldb)
2982-
swift_build_dir=$(build_directory ${host} swift)
2983-
module_cache="${build_dir}/module-cache"
2984-
lldb_executable="${lldb_build_dir}"/bin/lldb
29853016
results_dir="${lldb_build_dir}/test-results"
29863017

2987-
# Options to find the just-built libddispatch and Foundation.
2988-
if [[ "$(uname -s)" == "Darwin" || "${SKIP_BUILD_FOUNDATION}" ]] ; then
2989-
DOTEST_EXTRA=""
2990-
else
2991-
# This assumes that there are no spaces in any on these paths.
2992-
LIBDISPATCH_BUILD_DIR="$(build_directory ${host} libdispatch)"
2993-
FOUNDATION_BUILD_DIR=$(build_directory ${host} foundation)
2994-
DOTEST_EXTRA="-I${FOUNDATION_BUILD_DIR}"
2995-
DOTEST_EXTRA="${DOTEST_EXTRA} -Xcc -F${FOUNDATION_BUILD_DIR}"
2996-
DOTEST_EXTRA="${DOTEST_EXTRA} -I${FOUNDATION_BUILD_DIR}/swift"
2997-
DOTEST_EXTRA="${DOTEST_EXTRA} -I${LIBDISPATCH_SOURCE_DIR}"
2998-
DOTEST_EXTRA="${DOTEST_EXTRA} -L${FOUNDATION_BUILD_DIR}"
2999-
DOTEST_EXTRA="${DOTEST_EXTRA} -L${LIBDISPATCH_BUILD_DIR}"
3000-
DOTEST_EXTRA="${DOTEST_EXTRA} -L${LIBDISPATCH_BUILD_DIR}/src"
3001-
DOTEST_EXTRA="${DOTEST_EXTRA} -Xlinker -rpath -Xlinker ${LIBDISPATCH_BUILD_DIR}/src"
3002-
DOTEST_EXTRA="${DOTEST_EXTRA} -Xlinker -rpath -Xlinker ${LIBDISPATCH_BUILD_DIR}"
3003-
DOTEST_EXTRA="${DOTEST_EXTRA} -Xlinker -rpath -Xlinker ${FOUNDATION_BUILD_DIR}"
3004-
fi
3005-
30063018
call mkdir -p "${results_dir}"
30073019
LLVM_LIT_ARG="${LLVM_LIT_ARGS} --xunit-xml-output=${results_dir}/results.xml"
30083020

@@ -3011,17 +3023,10 @@ for host in "${ALL_HOSTS[@]}"; do
30113023
LLVM_LIT_ARGS="${LLVM_LIT_ARGS} -j $(sysctl hw.physicalcpu | awk -v N=${BUILD_JOBS} '{ print (N < $2) ? N : $2 }')"
30123024
fi
30133025

3014-
# Watchpoint testing is currently disabled: see rdar://38566150.
3015-
LLDB_TEST_CATEGORIES="--skip-category=watchpoint"
3016-
30173026
if [[ "$(true_false ${LLDB_TEST_SWIFT_ONLY})" == "TRUE" ]]; then
30183027
LLVM_LIT_ARGS="${LLVM_LIT_ARGS} --filter=[sS]wift"
3019-
LLDB_TEST_CATEGORIES="${LLDB_TEST_CATEGORIES} --skip-category=dwo"
30203028
fi
30213029

3022-
# Construct dotest arguments.
3023-
DOTEST_ARGS="--build-dir ${lldb_build_dir}/lldb-test-build.noindex ${LLDB_TEST_SUBDIR_CLAUSE} ${LLDB_TEST_CATEGORIES} -t -E \"${DOTEST_EXTRA}\""
3024-
30253030
# Record the times test took and report the slowest.
30263031
LLVM_LIT_ARGS="${LLVM_LIT_ARGS} -v --time-tests"
30273032

@@ -3032,13 +3037,12 @@ for host in "${ALL_HOSTS[@]}"; do
30323037
with_pushd ${results_dir} \
30333038
call "${llvm_build_dir}/bin/llvm-lit" \
30343039
"${lldb_build_dir}/lit" \
3035-
${LLVM_LIT_ARGS} \
3036-
--param dotest-args="${DOTEST_ARGS}"
3040+
${LLVM_LIT_ARGS}
30373041

30383042
if [[ -x "${LLDB_TEST_SWIFT_COMPATIBILITY}" ]] ; then
30393043
echo "Running LLDB swift compatibility tests against" \
30403044
"${LLDB_TEST_SWIFT_COMPATIBILITY}"
3041-
DOTEST_ARGS="${DOTEST_ARGS} -G swift-history --swift-compiler \"${LLDB_TEST_SWIFT_COMPATIBILITY}\""
3045+
DOTEST_ARGS="-G swift-history --swift-compiler \"${LLDB_TEST_SWIFT_COMPATIBILITY}\""
30423046
with_pushd ${results_dir} \
30433047
call "${llvm_build_dir}/bin/llvm-lit" \
30443048
"${lldb_build_dir}/lit" \

0 commit comments

Comments
 (0)