X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=tests%2Futils%2Futils.sh;h=18b5482362bac98e07e8bd7465c85e741873ee31;hb=05ffcfc00a277854c379deec649385603bbc63e7;hp=da389f38b34068253113faa3b1f24ba83b97c9ca;hpb=ec48dce5240d32024e33d519de41eaf5fc7a5a31;p=babeltrace.git diff --git a/tests/utils/utils.sh b/tests/utils/utils.sh index da389f38..18b54823 100644 --- a/tests/utils/utils.sh +++ b/tests/utils/utils.sh @@ -61,7 +61,7 @@ export BT_TESTS_BUILDDIR # Source the generated environment file if it's present. if [ -f "${BT_TESTS_BUILDDIR}/utils/env.sh" ]; then - # shellcheck source=./env.sh + # shellcheck disable=SC1091 . "${BT_TESTS_BUILDDIR}/utils/env.sh" fi @@ -297,6 +297,33 @@ bt_diff_details_ctf_gen_single() { return $ret } +# Run the grep binary configured for the tests. +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 pattern=$1 + local file=$2 + local test_name=$3 + + bt_grep --silent "$pattern" "$file" + + local 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 +} ### Functions ### @@ -309,7 +336,7 @@ check_coverage() { run_python() { local our_pythonpath="${BT_TESTS_SRCDIR}/utils/python" - if [[ $BT_TESTS_PYTHON_VERSION = 3.4 ]]; then + if [[ $BT_TESTS_PYTHON_VERSION =~ 3.[45] ]]; then # Add a local directory containing a `typing.py` to `PYTHONPATH` for # Python 3.4 which doesn't offer the `typing` module. our_pythonpath="$our_pythonpath:${BT_TESTS_SRCDIR}/utils/python/typing" @@ -358,7 +385,7 @@ run_python_bt2() { # existing ASAN_OPTIONS, 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 | grep -q '^gcc'; then + if ${BT_TESTS_CC_BIN} --version | head -n 1 | bt_grep -q '^gcc'; then lib_asan="$(${BT_TESTS_CC_BIN} -print-file-name=libasan.so)" local -x LD_PRELOAD="${lib_asan}${LD_PRELOAD:+:}${LD_PRELOAD:-}" fi