diff options
author | Petri Latvala <petri.latvala@intel.com> | 2020-06-15 13:25:15 +0300 |
---|---|---|
committer | Petri Latvala <petri.latvala@intel.com> | 2020-06-17 13:10:54 +0300 |
commit | 783280d03c23f7613acaff4487f825d5055b330d (patch) | |
tree | e8309a376e75463bdad5b22af817923133416b5e /scripts | |
parent | 90611a0c90afa4a46496c78a4faf9638a1538ac3 (diff) |
scripts/verify-blacklist: Script for checking blacklist files
tests/intel-ci/blacklist*.txt files can collect bitrot unless there's
an easy way to check for lines that are no longer needed due to the
tests being renamed or removed. Therefore, a script just for that.
v2: Use long options for readability, exit with 1 if something found
v3: Verify manually against the list of all tests instead of trying
with igt_runner's --include-tests
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/verify-blacklist.sh | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/scripts/verify-blacklist.sh b/scripts/verify-blacklist.sh new file mode 100755 index 00000000..93dca495 --- /dev/null +++ b/scripts/verify-blacklist.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +# Verify that all entries in a blacklist file are still valid + +usage() { + echo "Usage: $0 <path-to-igt-runner> <test-binary-directory> <blacklist-file>" + echo + echo " path-to-igt-runner: For example build/runner/igt_runner" + echo " test-binary-directory: For example build/tests" + echo " blacklist-file: For example tests/intel-ci/blacklist.txt" + exit 2 +} + +if [ $# -ne 3 ]; then + usage +fi + +RUNNER="$1" +BINDIR="$2" +BLFILE="$3" + +if [ ! -x "$RUNNER" ]; then + echo "$RUNNER not found" + echo + usage +fi + +if [ ! -f "$BINDIR/test-list.txt" ]; then + echo "$BINDIR doesn't look like a test-binary directory" + echo + usage +fi + +if [ ! -f "$BLFILE" ]; then + echo "$BLFILE not found" + echo + usage +fi + +STATUS=0 + +TESTLIST="$("$RUNNER" --list-all "$BINDIR")" + +cat "$BLFILE" | while read line; do + blentry=$(echo "$line" | sed 's/#.*//' | tr -d '[:space:]') + if [ "$blentry" = "" ]; then continue; fi + + if ! (echo "$TESTLIST" | grep -Pq "$blentry") >/dev/null 2>/dev/null; then + echo Useless blacklist entry: "$blentry" + STATUS=1 + fi +done + +exit $STATUS |