1
0
Fork 0
knot-resolver/tests/integration/deckard/tools/divide_tests.sh
Daniel Baumann fbc604e215
Adding upstream version 5.7.5.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-21 13:56:17 +02:00

77 lines
2.1 KiB
Bash

#!/usr/bin/env bash
# Sorts .rpl tests into several categories.
# Takes a diretory with the tests as an argument and moves the test to its subdirectories.
# Env variable SCRIPT= sets *_run.sh script for finding working tests, default script is kresd_run.sh
# Env variable DEST= sets output directory where the tests will be copied and divided into subfolders. Default value is working directory.
set -o nounset
set -o errexit
SOURCE="$1"
SCRIPT=${SCRIPT:-"./../kresd_run.sh"}
DEST=${DEST:-"."}
rm -rf "$DEST/sorted_tests"
mkdir "$DEST/sorted_tests"
for TEST in "$SOURCE/"*.rpl
do
cp "$TEST" "$DEST/sorted_tests"
done
# Test with the same name is already imported in deckard/sets/resolver
echo Already imported:
mkdir -p "$DEST/sorted_tests/imported"
for TEST in `comm -12 <(ls -F ../sets/resolver/*.rpl | xargs -n 1 basename) <(ls -F "$DEST/sorted_tests" | xargs -n 1 basename)`
do
echo -e '\t' "$TEST"
mv "$DEST/sorted_tests/$TEST" "$DEST/sorted_tests/imported"
done
# Parse failed
echo Parse failed:
mkdir -p "$DEST/sorted_tests/parsefail"
for TEST in "$DEST/sorted_tests/"*.rpl
do
if ! python3 parse.py "$TEST" >/dev/null 2>/dev/null
then
echo -e '\t' $(basename "$TEST")
mv "$TEST" "$DEST/sorted_tests/parsefail"
fi
done
# Invalid DSA signatures (common in old testbound tests)
echo Invalid DSA signatures:
mkdir -p "$DEST/sorted_tests/invaliddsa"
for TEST in "$DEST/sorted_tests/"*.rpl
do
if ! python3 invalid_dsa.py "$TEST" >/dev/null 2>/dev/null
then
echo -e '\t' $(basename "$TEST")
mv "$TEST" "$DEST/sorted_tests/invaliddsa"
fi
done
# Working in selected script
echo Working in $SCRIPT:
mkdir -p "$DEST/sorted_tests/working"
for TEST in "$DEST/sorted_tests/"*.rpl
do
if TESTS="$(readlink -m $TEST)" $SCRIPT >/dev/null 2>/dev/null
then
echo -e '\t' $(basename "$TEST")
mv "$TEST" "$DEST/sorted_tests/working"
fi
done
echo Others:
mkdir -p "$DEST/sorted_tests/others"
for TEST in "$DEST/sorted_tests/"*.rpl
do
echo -e '\t' $(basename "$TEST")
mv "$TEST" "$DEST/sorted_tests/others"
done