mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-16 02:23:49 +08:00
Port the timescaledb perl tests and the corresponding infrastructure to support the new perl namespace introduced in PG15. https://github.com/postgres/postgres/commit/b3b4d8e6
68 lines
1.9 KiB
Bash
Executable File
68 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Wrapper around perl prove utility to control running of TAP tests
|
|
#
|
|
# The following control variable is supported:
|
|
#
|
|
# PROVE_TESTS only run TAP tests from this list
|
|
# e.g make provecheck PROVE_TESTS="t/foo.pl t/bar.pl"
|
|
#
|
|
# Note that you can also use regular expressions to run multiple
|
|
# taps tests matching the pattern:
|
|
#
|
|
# e.g make provecheck PROVE_TESTS="t/*chunk*"
|
|
#
|
|
|
|
PROVE_TESTS=${PROVE_TESTS:-}
|
|
PROVE=${PROVE:-prove}
|
|
|
|
echo "SKIPS: ${SKIPS}"
|
|
|
|
# If PROVE_TESTS is specified then run those subset of TAP tests even if
|
|
# TESTS is also specified
|
|
if [ -z "$PROVE_TESTS" ] && [ -z "${SKIPS}" ]
|
|
then
|
|
# Exit early if we are running with TESTS=expr
|
|
if [ -n "$TESTS" ]
|
|
then
|
|
exit 0
|
|
fi
|
|
FINAL_TESTS=$(ls -1 t/*.pl 2>/dev/null)
|
|
elif [ -z "$PROVE_TESTS" ] && [ -n "${SKIPS}" ]
|
|
then
|
|
ALL_TESTS=$(ls -1 t/*.pl 2>/dev/null)
|
|
FILTERED_TESTS=""
|
|
# disable path expansion to make SKIPS='*' work
|
|
set -f
|
|
|
|
# to support wildcards in SKIPS we match the SKIPS
|
|
# list against the actual list of tests
|
|
for test_name in ${ALL_TESTS}; do
|
|
for test_pattern in ${SKIPS}; do
|
|
# shellcheck disable=SC2053
|
|
# We do want to match globs in $test_pattern here.
|
|
if [[ $test_name == t/${test_pattern}.pl ]]; then
|
|
continue 2
|
|
fi
|
|
done
|
|
FILTERED_TESTS="${FILTERED_TESTS}\n${test_name}"
|
|
done
|
|
FINAL_TESTS=$(echo -e "${FILTERED_TESTS}" | tr '\n' ' ' | sed -e 's/^ *//')
|
|
|
|
else
|
|
FINAL_TESTS=$PROVE_TESTS
|
|
fi
|
|
|
|
if [ -z "$FINAL_TESTS" ]
|
|
then
|
|
echo "No TAP tests to run for the current configuration, skipping..."
|
|
exit 0;
|
|
fi
|
|
PG_VERSION_MAJOR=${PG_VERSION_MAJOR} ${PROVE} \
|
|
-I "${SRC_DIR}/src/test/perl" \
|
|
-I "${CM_SRC_DIR}/test/perl" \
|
|
-I "${PG_LIBDIR}/pgxs/src/test/perl" \
|
|
-I "${PG_PKGLIBDIR}/pgxs/src/test/perl" \
|
|
-I "${PG_LIBDIR}/postgresql/pgxs/src/test/perl" \
|
|
$FINAL_TESTS
|