]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Report reasons for skipped/xfailed system pytests
authorTom Krizek <tkrizek@isc.org>
Wed, 15 Jun 2022 13:00:27 +0000 (15:00 +0200)
committerTom Krizek <tkrizek@isc.org>
Thu, 16 Jun 2022 07:18:32 +0000 (09:18 +0200)
If skip/xfail is used in pytest, it can have a reason string associated
with it. When evaluating these tests, it can be useful to be able to
differentiate the reason why the test was skipped/xfailed/xpassed,
because there might be multiple possible reasons for that.

The extra options passed to pytest ensure that the string with the
reason appears in the test summary and thus we're able to find the
string with the reason in the log output.

See https://docs.pytest.org/en/7.1.x/how-to/skipping.html for more info

(cherry picked from commit f6d368167a4a12609e1b6082c445babed8449a18)

bin/tests/system/run.sh

index cef1e2ee53f6ce09864b4787643f1e8aea3441a1..14a10670fa8e34f98809e148084933da7a0239a0 100755 (executable)
@@ -237,7 +237,7 @@ if [ $status -eq 0 ]; then
             if start_servers; then
                 run=$((run+1))
                 test_status=0
-                (cd "$systest" && "$PYTEST" -v "$test" "$@" || echo "$?" > "$test.status") | SYSTESTDIR="$systest" cat_d
+                (cd "$systest" && "$PYTEST" -rsxX -v "$test" "$@" || echo "$?" > "$test.status") | SYSTESTDIR="$systest" cat_d
                 if [ -f "$systest/$test.status" ]; then
                     if [ "$(cat "$systest/$test.status")" != "5" ]; then
                         test_status=$(cat "$systest/$test.status")