diff --git a/tests/acceptance/run.sh b/tests/acceptance/run.sh index 516b9f12c..71957d377 100755 --- a/tests/acceptance/run.sh +++ b/tests/acceptance/run.sh @@ -261,10 +261,11 @@ function run_behat_tests() { FAILED_SCENARIO_PATHS_COLORED=`awk '/Failed scenarios:/',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") + FAILED_SCENARIO_PATHS=$(echo "${FAILED_SCENARIO_PATHS_COLORED}" | sed "s/\x1b[^m]*m//g" | sed 's/\(\.feature:[0-9]\+\).*/\1/') # 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. diff --git a/vendor-bin/behat/composer.json b/vendor-bin/behat/composer.json index eb7f70fb8..9df2b0045 100644 --- a/vendor-bin/behat/composer.json +++ b/vendor-bin/behat/composer.json @@ -8,7 +8,7 @@ } }, "require": { - "behat/behat": "3.23.0", + "behat/behat": "^3.24", "behat/gherkin": "^4.9", "behat/mink": "1.7.1", "friends-of-behat/mink-extension": "^2.7",