@@ -54,9 +54,11 @@ function runner::functions_for_script() {
5454
5555 # Filter the names down to the ones defined in the script, sort them by line number
5656 shopt -s extdebug
57- for f in $all_fn_names ; do
58- declare -F " $f " | grep " $script "
59- done | sort -k2 -n | awk ' {print $1}'
57+ # shellcheck disable=SC2086
58+ declare -F $all_fn_names |
59+ awk -v s=" $script " ' $3 == s {print $1" " $2}' |
60+ sort -k2 -n |
61+ awk ' {print $1}'
6062 shopt -u extdebug
6163}
6264
@@ -349,41 +351,25 @@ function runner::parse_result_sync() {
349351 local fn_name=$1
350352 local execution_result=$2
351353
352- local assertions_failed=$( \
353- echo " $execution_result " | \
354- tail -n 1 | \
355- sed -E -e ' s/.*##ASSERTIONS_FAILED=([0-9]*)##.*/\1/g' \
356- )
357-
358- local assertions_passed=$( \
359- echo " $execution_result " | \
360- tail -n 1 | \
361- sed -E -e ' s/.*##ASSERTIONS_PASSED=([0-9]*)##.*/\1/g' \
362- )
363-
364- local assertions_skipped=$( \
365- echo " $execution_result " | \
366- tail -n 1 | \
367- sed -E -e ' s/.*##ASSERTIONS_SKIPPED=([0-9]*)##.*/\1/g' \
368- )
369-
370- local assertions_incomplete=$( \
371- echo " $execution_result " | \
372- tail -n 1 | \
373- sed -E -e ' s/.*##ASSERTIONS_INCOMPLETE=([0-9]*)##.*/\1/g' \
374- )
375-
376- local assertions_snapshot=$( \
377- echo " $execution_result " | \
378- tail -n 1 | \
379- sed -E -e ' s/.*##ASSERTIONS_SNAPSHOT=([0-9]*)##.*/\1/g' \
380- )
381-
382- local test_exit_code=$( \
383- echo " $execution_result " | \
384- tail -n 1 | \
385- sed -E -e ' s/.*##TEST_EXIT_CODE=([0-9]*)##.*/\1/g' \
386- )
354+ local result_line
355+ result_line=$( echo " $execution_result " | tail -n 1)
356+
357+ local regex=' ASSERTIONS_FAILED=([0-9]*)##ASSERTIONS_PASSED=([0-9]*)##ASSERTIONS_SKIPPED=([0-9]*)##ASSERTIONS_INCOMPLETE=([0-9]*)##ASSERTIONS_SNAPSHOT=([0-9]*)##TEST_EXIT_CODE=([0-9]*)'
358+ if [[ $result_line =~ $regex ]]; then
359+ local assertions_failed=" ${BASH_REMATCH[1]} "
360+ local assertions_passed=" ${BASH_REMATCH[2]} "
361+ local assertions_skipped=" ${BASH_REMATCH[3]} "
362+ local assertions_incomplete=" ${BASH_REMATCH[4]} "
363+ local assertions_snapshot=" ${BASH_REMATCH[5]} "
364+ local test_exit_code=" ${BASH_REMATCH[6]} "
365+ else
366+ local assertions_failed=0
367+ local assertions_passed=0
368+ local assertions_skipped=0
369+ local assertions_incomplete=0
370+ local assertions_snapshot=0
371+ local test_exit_code=0
372+ fi
387373
388374 log " debug" " [SYNC]" " fn_name:$fn_name " " execution_result:$execution_result "
389375
0 commit comments