From cb70798bee901e806e509aa6231d05a429c5ce24 Mon Sep 17 00:00:00 2001 From: Saw-jan Date: Tue, 16 Dec 2025 15:51:07 +0545 Subject: [PATCH] test: add hook failures to the test failures list Signed-off-by: Saw-jan --- tests/acceptance/scripts/run.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/acceptance/scripts/run.sh b/tests/acceptance/scripts/run.sh index 0df2d86dc0..7f35adb730 100755 --- a/tests/acceptance/scripts/run.sh +++ b/tests/acceptance/scripts/run.sh @@ -258,14 +258,16 @@ function run_behat_tests() { fi fi - FAILED_SCENARIO_PATHS_COLORED=`awk '/Failed scenarios:/',0 ${TEST_LOG_FILE} | grep -a feature` + FAILED_SCENARIO_PATHS_COLORED=`awk '/Failed (scenarios|hooks):/',0 ${TEST_LOG_FILE} | grep -a feature` # There will be some ANSI escape codes for color in the FEATURE_COLORED var. # Strip them out so we can pass just the ordinary feature details to Behat. # Also strip everything after ".feature:XX", including text such as "(on line xx)" added by Behat indicating the failing step's line number. # Thanks to https://en.wikipedia.org/wiki/Tee_(command) and # https://stackoverflow.com/questions/23416278/how-to-strip-ansi-escape-sequences-from-a-variable # for ideas. - FAILED_SCENARIO_PATHS=$(echo "${FAILED_SCENARIO_PATHS_COLORED}" | sed "s/\x1b[^m]*m//g" | sed 's/\(\.feature:[0-9]\+\).*/\1/') + FAILED_SCENARIO_PATHS=$(echo "${FAILED_SCENARIO_PATHS_COLORED}" | sed "s/\x1b[^m]*m//g" | sed "s/AfterScenario \"//g" | sed 's/\(\.feature:[0-9]\+\).*/\1/') + # remove duplicate scenario paths + FAILED_SCENARIO_PATHS=$(echo "$FAILED_SCENARIO_PATHS" | awk '!seen[$0]++') # If something else went wrong, and there were no failed scenarios, # then the awk, grep, sed command sequence above ends up with an empty string.