X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=tests%2Futils%2Futils.sh;h=bd077983cef48eb80a4482de5864478cce024591;hb=4958be54ec3f4540cb3328f1e735e95de2b8d525;hp=739ec225b1b5345c24a5bde6ca29ba825287afc8;hpb=5c1220ec6ef72412942de5a332a9e318cfac6e33;p=babeltrace.git diff --git a/tests/utils/utils.sh b/tests/utils/utils.sh index 739ec225..bd077983 100644 --- a/tests/utils/utils.sh +++ b/tests/utils/utils.sh @@ -277,7 +277,6 @@ bt_diff_cli() { local -r temp_stdout_output_file="$(mktemp -t actual-stdout.XXXXXX)" local -r temp_stderr_output_file="$(mktemp -t actual-stderr.XXXXXX)" - local ret=0 bt_cli "$temp_stdout_output_file" "$temp_stderr_output_file" "${args[@]}" @@ -286,13 +285,9 @@ bt_diff_cli() { bt_diff "$expected_stderr_file" "$temp_stderr_output_file" "${args[@]}" local -r ret_stderr=$? - if ((ret_stdout != 0 || ret_stderr != 0)); then - ret=1 - fi - rm -f "$temp_stdout_output_file" "$temp_stderr_output_file" - return $ret + return $((ret_stdout || ret_stderr)) } # Checks the difference between: @@ -313,10 +308,9 @@ bt_diff_details_ctf_single() { local -r trace_dir="$2" shift 2 local -r extra_details_args=("$@") - expected_stderr_file="/dev/null" # Compare using the CLI with `sink.text.details` - bt_diff_cli "$expected_stdout_file" "$expected_stderr_file" "$trace_dir" \ + bt_diff_cli "$expected_stdout_file" /dev/null "$trace_dir" \ "-c" "sink.text.details" "${extra_details_args[@]+${extra_details_args[@]}}" } @@ -353,31 +347,34 @@ bt_grep() { "$BT_TESTS_GREP_BIN" "$@" } -# ok() with the test name `$3` on the result of bt_grep() matching the -# pattern `$1` within the file `$2`. -bt_grep_ok() { - local -r pattern=$1 - local -r file=$2 - local -r test_name=$3 - - bt_grep --silent "$pattern" "$file" - - local -r ret=$? - - if ! ok $ret "$test_name"; then - { - echo "Pattern \`$pattern\` doesn't match the contents of \`$file\`:" - echo '--- 8< ---' - cat "$file" - echo '--- >8 ---' - } >&2 - fi +# Only if `tap.sh` is sourced because bt_grep_ok() uses ok() +if [[ ${SH_TAP:-} == 1 ]]; then + # ok() with the test name `$3` on the result of bt_grep() matching + # the pattern `$1` within the file `$2`. + bt_grep_ok() { + local -r pattern=$1 + local -r file=$2 + local -r test_name=$3 + + bt_grep --silent "$pattern" "$file" + + local -r ret=$? + + if ! ok $ret "$test_name"; then + { + echo "Pattern \`$pattern\` doesn't match the contents of \`$file\`:" + echo '--- 8< ---' + cat "$file" + echo '--- >8 ---' + } >&2 + fi - return $ret -} + return $ret + } +fi # Forwards the arguments to `coverage run`. -check_coverage() { +_bt_tests_check_coverage() { coverage run "$@" } @@ -460,7 +457,7 @@ run_python_bt2_test() { local python_exec if test "${BT_TESTS_COVERAGE:-}" = "1"; then - python_exec="check_coverage" + python_exec="_bt_tests_check_coverage" else python_exec="${BT_TESTS_PYTHON_BIN}" fi