2
0
mirror of https://gitlab.com/apparmor/apparmor synced 2025-08-28 21:07:56 +00:00

spread: improve error message when regression test is missing

Due to how the debug information shows up when something fails in
spread the information is hard to figure out.

See this example when the allow_all test was missing
https://gitlab.com/apparmor/apparmor/-/jobs/9958642493

Signed-off-by: Georgia Garcia <georgia.garcia@canonical.com>
This commit is contained in:
Georgia Garcia 2025-05-08 09:55:52 -03:00
parent eda0461d58
commit c07b0093d8

View File

@ -276,17 +276,20 @@ suites:
echo '$(foreach t,$(TESTS),$(info TEST/$t))' | \ echo '$(foreach t,$(TESTS),$(info TEST/$t))' | \
make -n -f "$SPREAD_PATH"/tests/regression/apparmor/Makefile -f /dev/stdin | \ make -n -f "$SPREAD_PATH"/tests/regression/apparmor/Makefile -f /dev/stdin | \
grep -F TEST/ | \ grep -F TEST/ | \
cut -d / -f 2 | \ cut -d / -f 2 > apparmor-regression-tests.txt
tee apparmor-regression-tests.txt
fail=0 fail=0
missing_tests=()
while read -r V; do while read -r V; do
if ! grep -xF ' TEST/'"$V"': 1' "$SPREAD_PATH"/tests/regression/apparmor/task.yaml; then if ! grep -xqF ' TEST/'"$V"': 1' "$SPREAD_PATH"/tests/regression/apparmor/task.yaml; then
echo "tests/regression/task.yaml: missing test variant: TEST/$V" >&2 missing_tests+=("tests/regression/task.yaml: missing test variant: TEST/$V")
fail=1 fail=1
fi fi
done <apparmor-regression-tests.txt done <apparmor-regression-tests.txt
if [ "$fail" -ne 0 ]; then if [ "$fail" -ne 0 ]; then
echo "exiting due to missing variants listed above" >&2 echo "exiting due to missing variants:" >&2
for msg in "${missing_tests[@]}"; do
echo "$msg" >&2
done
exit 1 exit 1
fi fi