summaryrefslogtreecommitdiff
path: root/test/integration/run-tests
diff options
context:
space:
mode:
authorJulian Andres Klode <julian.klode@canonical.com>2024-05-19 19:31:48 +0200
committerJulian Andres Klode <julian.klode@canonical.com>2024-05-24 13:43:56 +0200
commit1fbdc04be7547b8c4bb84f400329415ea0bc60b5 (patch)
treeb025b1e9312af10e7c3e32005b6c72e63297b22b /test/integration/run-tests
parent67a8a6470ddb8a603db02c5fab84aa225dc00f8d (diff)
test: Run working tests against the 3.0 solver
Implement --solver, --only, -skip flags for the test suite, and run the test suite with the broken tests skipped against solver3.
Diffstat (limited to 'test/integration/run-tests')
-rwxr-xr-xtest/integration/run-tests31
1 files changed, 28 insertions, 3 deletions
diff --git a/test/integration/run-tests b/test/integration/run-tests
index c1cc780f0..badc96cc5 100755
--- a/test/integration/run-tests
+++ b/test/integration/run-tests
@@ -22,6 +22,15 @@ while [ -n "$1" ]; do
elif [ "$1" = '-j' ]; then
APT_TEST_JOBS=$2
shift
+ elif [ "$1" = '--solver' ]; then
+ export APT_SOLVER="$2"
+ shift
+ elif [ "$1" = '--skip' ]; then
+ export APT_SKIP_TEST_FILE="$2"
+ shift
+ elif [ "$1" = '--only' ]; then
+ TESTLIST="$2"
+ shift
elif [ -x "$1" ]; then
TESTTORUN="$1"
else
@@ -52,14 +61,22 @@ if [ -n "$TESTTORUN" ]; then
CURRENTTRAP="rm -f \"$OUTPUT\"; $CURRENTTRAP"
trap "$CURRENTTRAP" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
{
- if [ "$MSGLEVEL" -le 1 ]; then
+ if [ "$APT_SKIP_TEST_FILE" ] && grep -qFx "${TESTTORUN##*/}" "$APT_SKIP_TEST_FILE"; then
+ if [ "$MSGLEVEL" -le 2 ]; then
+ printf "${CTEST}Skip Testcase ${CHIGH}${TESTTORUN##*/}${CRESET}"
+ else
+ printf "${CTEST}Skip Testcase ${CHIGH}${TESTTORUN##*/}${CRESET}\n"
+ fi
+ SKIP='yes'
+ elif [ "$MSGLEVEL" -le 1 ]; then
printf "${TESTTORUN##*/}"
elif [ "$MSGLEVEL" -le 2 ]; then
printf "${CTEST}Testcase ${CHIGH}${TESTTORUN##*/}${CRESET}: "
else
printf "${CTEST}Run Testcase ${CHIGH}${TESTTORUN##*/}${CRESET}\n"
fi
- if ! "$TESTTORUN"; then
+
+ if [ "$SKIP" != "yes" ] && ! "$TESTTORUN"; then
FAIL='yes'
if [ "$MSGLEVEL" -le 2 ]; then
printf >&2 "\n${CHIGH}Running ${TESTTORUN##*/} -> FAILED${CRESET}\n"
@@ -96,7 +113,11 @@ ALL=0
FAILED_TESTS=""
DIR="$(readlink -f "$(dirname "$0")")"
cd "$DIR"
-TESTLIST="$(find . -mindepth 1 -maxdepth 1 -regex '^\./test-[^/]*$' | sort)"
+if [ -e "$TESTLIST" ]; then
+ TESTLIST="$(sort < "$TESTLIST" | sed 's#^#./#')"
+else
+ TESTLIST="$(find . -mindepth 1 -maxdepth 1 -regex '^\./test-[^/]*$' | sort)"
+fi
if [ -n "$APT_TEST_JOBS" ]; then
if [ "$MSGCOLOR" != 'NO' ]; then
export MSGCOLOR='ALWAYS'
@@ -125,6 +146,10 @@ if [ "$MSGLEVEL" -le 1 ]; then
printf "${CTEST}Running testcases${CRESET}: "
fi
for testcase in $TESTLIST; do
+ if [ "$APT_SKIP_TEST_FILE" ] && grep -qFx "${TESTTORUN##*/}" "$APT_SKIP_TEST_FILE"; then
+ printf "${CTEST}Skipping Testcase ${CHIGH}${TESTTORUN##*/}${CRESET}\n"
+ continue
+ fi
if [ "$MSGLEVEL" -le 1 ]; then
printf "${testcase##*/}"
elif [ "$MSGLEVEL" -le 2 ]; then