- Re-cloned zonemaster-ldns with --recurse-submodules so the bundled ldns C library source (including Changelog and configure.ac) is present - Added autoconf, automake, libtool to Dockerfile.backend ldns-build stage so libtoolize + autoreconf can generate ldns/configure during make Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
56 lines
1.5 KiB
Bash
Executable File
56 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
BUILD_DIR=$(pwd)
|
|
echo "PATH=$PATH" > "$BUILD_DIR/test/.tpkg.var.master"
|
|
|
|
if git log HEAD^..HEAD | grep -q 'git:TEST [0-9][0-9]*'
|
|
then
|
|
ONLY_TEST=$(git log HEAD^..HEAD | grep 'git:TEST [0-9][0-9]*' | sed 's/^.*git:TEST \([0-9][0-9]*\).*$/\1/g')
|
|
else
|
|
ONLY_TEST=""
|
|
fi
|
|
|
|
if git log HEAD^..HEAD | grep -q 'git:REGRESSION'
|
|
then
|
|
NO_REGRESSION=0
|
|
else
|
|
NO_REGRESSION=1
|
|
fi
|
|
|
|
if [ -z "$TPKG" ] || [ ! -x "$TPKG" ]
|
|
then
|
|
if [ -x tpkg/tpkg ] ; then TPKG="$(pwd)/tpkg/tpkg"
|
|
elif [ -x test/tpkg/tpkg ] ; then TPKG="$(pwd)/test/tpkg/tpkg"
|
|
elif command -v tpkg > /dev/null; then TPKG="$(command -v tpkg)"
|
|
else
|
|
echo Did not find tpkg program!
|
|
exit 255 # Shell can only return 0-255
|
|
fi
|
|
fi
|
|
|
|
# RUN THE TESTS
|
|
for tests in "$BUILD_DIR"/test/*.tpkg
|
|
do
|
|
TESTFN="$(basename "$tests")"
|
|
TESTNR=${TESTFN%-*}
|
|
[ -n "$ONLY_TEST" ] && [ x"$ONLY_TEST" != x"$TESTNR" ] && continue
|
|
case "$TESTNR" in
|
|
[3-5][0-9]*) [ $NO_REGRESSION = 1 ] && continue
|
|
;;
|
|
esac
|
|
case $TESTNR in
|
|
02) # splint doesn't work on linux
|
|
[ "x$(uname -s)" = "xLinux" ] && continue
|
|
;;
|
|
32) # No backwards compatibility regression testing
|
|
# when .so had major version bump.
|
|
chmod +x "$BUILD_DIR/packaging/ldns-config"
|
|
BINAPI=$("$BUILD_DIR/packaging/ldns-config" --libversion)
|
|
[ "x${BINAPI#*.}" = "x0.0" ] && continue
|
|
esac
|
|
$TPKG -b "$BUILD_DIR/test" -a "$BUILD_DIR" exe "$TESTFN"
|
|
done
|
|
|
|
cd test || { echo "Where is the test directory?"; exit 1; }
|
|
exec $TPKG -n -1 r
|