@@ -42,20 +42,29 @@ for expected_failure_file in "${EXPECTED_FAILURE_FILES[@]}"; do
4242 # also filter the duplicated suites name
4343 EXPECTED_FAILURE_SUITES=($( echo " ${EXPECTED_FAILURE_SUITES[@]} " | tr ' ' ' \n' | sort | uniq) )
4444 # Check the existence of the suite
45- NONEXISTING_SCENARIOS=()
45+ NON_EXISTING_SCENARIOS=()
46+ FEATURE_PATTERN=" [a-zA-Z0-9]+\\ .feature:[0-9]+"
4647 for suite in " ${EXPECTED_FAILURE_SUITES[@]} " ; do
48+ pattern=" (\\ b${suite} /${FEATURE_PATTERN} \\ b)"
4749 if [[ " ${AVAILABLE_SUITES[*]} " != * " $suite " * ]]; then
48- pattern=" (\\ b${suite} /[a-zA-Z0-9]+\\ .feature:[0-9]+)"
49- NONEXISTING_SCENARIOS+=($( grep -Eo ${pattern} ${PATH_TO_EXPECTED_FAILURE_FILE} ) )
50+ NON_EXISTING_SCENARIOS+=($( grep -Eo ${pattern} ${PATH_TO_EXPECTED_FAILURE_FILE} ) )
51+ else
52+ SCENARIOS=($( grep -Eo ${pattern} ${PATH_TO_EXPECTED_FAILURE_FILE} | grep -Eo " ${FEATURE_PATTERN} " ) )
53+ for scenario in " ${SCENARIOS[@]} " ; do
54+ FEATURE_FILE=$( echo " $scenario " | cut -d' :' -f1)
55+ if [[ ! -f " $PATH_TO_SUITES /$suite /$FEATURE_FILE " ]]; then
56+ NON_EXISTING_SCENARIOS+=(" $suite /$scenario " )
57+ fi
58+ done
5059 fi
5160 done
5261
53- count=" ${# NONEXISTING_SCENARIOS [@]} "
62+ count=" ${# NON_EXISTING_SCENARIOS [@]} "
5463 if [ " $count " -gt 0 ]; then
5564 EXIT_CODE=1
5665 log_info " The following test scenarios do not exist anymore:"
5766 log_info " They can be deleted from the '${expected_failure_file} '"
58- for scenario_path in " ${NONEXISTING_SCENARIOS [@]} " ; do
67+ for scenario_path in " ${NON_EXISTING_SCENARIOS [@]} " ; do
5968 log_error " $scenario_path "
6069 done
6170 else
0 commit comments