diff --git a/docs/sytest.md b/docs/sytest.md index 99987fea..e936dc49 100644 --- a/docs/sytest.md +++ b/docs/sytest.md @@ -59,7 +59,7 @@ Once the tests are complete, run the helper script to see if you need to add any newly passing test names to `testfile` in the project's root directory: ```sh -../dendrite/show-expected-fail-tests.sh results.tap +../dendrite/show-expected-fail-tests.sh results.tap ../dendrite/testfile ``` If the script prints nothing/exits with 0, then you're good to go. diff --git a/show-expected-fail-tests.sh b/show-expected-fail-tests.sh index 277a2c8b..f58416b2 100755 --- a/show-expected-fail-tests.sh +++ b/show-expected-fail-tests.sh @@ -1,13 +1,28 @@ #! /bin/bash results_file=$1 +testfile=$2 + +fail_build=0 + +if [ ! -f "$results_file" ]; then + echo "ERROR: Specified results file ${results_file} doesn't exist." + fail_build=1 +fi + +if [ ! -f "$testfile" ]; then + echo "ERROR: Specified testfile ${testfile} doesn't exist." + fail_build=1 +fi + +[ "$fail_build" = 0 ] || exit 1 + passed_but_expected_fail=$(grep ' # TODO passed but expected fail' ${results_file} | sed -E 's/^ok [0-9]+ (\(expected fail\) )?//' | sed -E 's/( \([0-9]+ subtests\))? # TODO passed but expected fail$//') tests_to_add="" already_in_testfile="" -fail_build=0 while read -r test_id; do - grep "${test_id}" testfile > /dev/null 2>&1 + grep "${test_id}" "${testfile}" > /dev/null 2>&1 if [ "$?" != "0" ]; then tests_to_add="${tests_to_add}${test_id}\n" fail_build=1