if [ -z "${BT_TESTS_BT2_BIN:-}" ]; then
BT_TESTS_BT2_BIN="$BT_TESTS_BUILDDIR/../src/cli/babeltrace2"
if [ "$BT_TESTS_OS_TYPE" = "mingw" ]; then
- BT_TESTS_BT2_BIN="${BT_TESTS_BT2_BIN}.exe"
+ BT_TESTS_BT2_BIN+=".exe"
fi
fi
export BT_TESTS_BT2_BIN
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[@]}"
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:
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[@]}}"
}
"$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 "$@"
}
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
gen_mctf_trace() {
local -r input_file="$1"
local -r base_dir="$2"
-
- diag "Running: \`${BT_TESTS_PYTHON_BIN} ${BT_TESTS_SRCDIR}/utils/python/mctf.py --base-dir ${base_dir} ${input_file}\`"
- run_python "${BT_TESTS_PYTHON_BIN}" "${BT_TESTS_SRCDIR}/utils/python/mctf.py" \
- --base-dir "${base_dir}" "${input_file}"
+ local -r cmd=(
+ "$BT_TESTS_PYTHON_BIN" "$BT_TESTS_SRCDIR/utils/python/mctf.py"
+ --base-dir "$base_dir"
+ "$input_file"
+ )
+
+ echo "Running: \`${cmd[*]}\`" >&2
+ run_python "${cmd[@]}"
}