#
# This doesn't need to be exported, but it needs to remain set for
# bt_run_in_py_utils_env() to use it.
-_bt_tests_py3_version=$("$BT_TESTS_PYTHON_BIN" -c 'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))')
+_bt_tests_py3_version=$($BT_TESTS_PYTHON_BIN -c 'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))')
# Name of the `python3-config` command to use when testing, if not set
_bt_tests_set_var_def BT_TESTS_PYTHON_CONFIG_BIN python3-config
shift 2
- local -r args=("$@")
+ local -a bt_cli_args=("$@")
- echo "Running: \`$BT_TESTS_BT2_BIN ${args[*]}\`" >&2
- bt_run_in_py_env "$BT_TESTS_BT2_BIN" "${args[@]}" 1>"$stdout_file" 2>"$stderr_file"
+ echo "Running: \`$BT_TESTS_BT2_BIN ${bt_cli_args[*]}\`" >&2
+ bt_run_in_py_env "$BT_TESTS_BT2_BIN" "${bt_cli_args[@]}" 1>"$stdout_file" 2>"$stderr_file"
}
# Checks the differences between:
shift 2
- local -r extra_details_args=("$@")
+ local -r gen_extra_details_args=("$@")
local -r temp_trace_dir=$(mktemp -d)
# Run the CTF trace generator program to get a CTF trace
# Compare using the CLI with `sink.text.details`
bt_diff_details_ctf_single "$expected_stdout_file" "$temp_trace_dir" \
- "${extra_details_args[@]+${extra_details_args[@]}}"
+ "${gen_extra_details_args[@]+${gen_extra_details_args[@]}}"
local -r ret=$?
if [[ $BT_TESTS_OS_TYPE == mingw ]]; then
local -x PYTHONHOME
- PYTHONHOME=$("$BT_TESTS_PYTHON_CONFIG_BIN" --prefix)
+ PYTHONHOME=$($BT_TESTS_PYTHON_CONFIG_BIN --prefix)
fi
# If AddressSanitizer is used, we must preload `libasan.so` so that
# Append it to existing `ASAN_OPTIONS` variable, such that we
# override the user's value if it contains `detect_leaks=1`.
if [[ ${BT_TESTS_ENABLE_ASAN:-} == 1 ]]; then
- if "$BT_TESTS_CC_BIN" --version | head -n 1 | bt_grep -q '^gcc'; then
- local -r lib_asan=$("$BT_TESTS_CC_BIN" -print-file-name=libasan.so)
- local -x LD_PRELOAD=$lib_asan${LD_PRELOAD:+:}${LD_PRELOAD:-}
+ if $BT_TESTS_CC_BIN --version | head -n 1 | bt_grep -q '^gcc'; then
+ local -r lib_asan=$($BT_TESTS_CC_BIN -print-file-name=libasan.so)
+ local -r lib_stdcxx=$($BT_TESTS_CC_BIN -print-file-name=libstdc++.so)
+ local -x LD_PRELOAD=$lib_asan:$lib_stdcxx${LD_PRELOAD:+:}${LD_PRELOAD:-}
fi
local -x ASAN_OPTIONS=${ASAN_OPTIONS:-}${ASAN_OPTIONS:+,}detect_leaks=0
echo "Running: \`${cmd[*]}\`" >&2
bt_run_in_py_utils_env "${cmd[@]}"
}
+
+# Call `diag` with the contents of file `$1`.
+
+diag_file() {
+ diag "$(cat "$1")"
+}