Enable extended regexps in expect_log and expect_not_log.
PiperOrigin-RevId: 292142060
diff --git a/src/test/shell/unittest.bash b/src/test/shell/unittest.bash
index dbefe6d..e085516 100644
--- a/src/test/shell/unittest.bash
+++ b/src/test/shell/unittest.bash
@@ -300,6 +300,12 @@
#### Internal functions
+# Helper function to call grep with the correct arguments.
+function __grep() {
+ grep --extended-regexp --no-messages --quiet "$@"
+ return $?
+}
+
function __show_log() {
echo "-- Test log: -----------------------------------------------------------"
[[ -e $TEST_log ]] && cat $TEST_log || echo "(Log file did not exist.)"
@@ -430,7 +436,7 @@
function expect_log() {
local pattern=$1
local message=${2:-Expected regexp "$pattern" not found}
- grep -sq -- "$pattern" $TEST_log && return 0
+ __grep -- "$pattern" $TEST_log && return 0
fail "$message"
return 1
@@ -442,7 +448,7 @@
function expect_log_warn() {
local pattern=$1
local message=${2:-Expected regexp "$pattern" not found}
- grep -sq -- "$pattern" $TEST_log && return 0
+ __grep -- "$pattern" $TEST_log && return 0
warn "$message"
return 1
@@ -466,7 +472,7 @@
local pattern=$1
local expectednum=${2:-1}
local message=${3:-Expected regexp "$pattern" not found exactly $expectednum times}
- local count=$(grep -sc -- "$pattern" $TEST_log)
+ local count=$(__grep --count -- "$pattern" $TEST_log)
[[ $count = $expectednum ]] && return 0
fail "$message"
return 1
@@ -479,7 +485,7 @@
function expect_not_log() {
local pattern=$1
local message=${2:-Unexpected regexp "$pattern" found}
- grep -sq -- "$pattern" $TEST_log || return 0
+ __grep -- "$pattern" $TEST_log || return 0
fail "$message"
return 1
@@ -495,12 +501,12 @@
local message=${3:-Regexp "$pattern" not found in "$timeout" seconds}
local count=0
while [ $count -lt $timeout ]; do
- grep -sq -- "$pattern" $TEST_log && return 0
+ __grep -- "$pattern" $TEST_log && return 0
let count=count+1
sleep 1
done
- grep -sq -- "$pattern" $TEST_log && return 0
+ __grep -- "$pattern" $TEST_log && return 0
fail "$message"
return 1
}
@@ -588,7 +594,7 @@
local pattern=$1
local file=$2
local message=${3:-Expected regexp "$pattern" not found in "$file"}
- grep -sq -- "$pattern" "$file" && return 0
+ __grep -- "$pattern" "$file" && return 0
cat "$file" >&2
fail "$message"
@@ -605,7 +611,7 @@
local message=${3:-Expected regexp "$pattern" found in "$file"}
if [[ -f "$file" ]]; then
- grep -sq -- "$pattern" "$file" || return 0
+ __grep -- "$pattern" "$file" || return 0
else
fail "$file is not a file: $message"
return 1
@@ -776,9 +782,9 @@
# If the user didn't specify an explicit list of tests (e.g. a
# working set), use them all.
if [ ${#TESTS[@]} = 0 ]; then
- TESTS=$(declare -F | awk '{print $3}' | grep ^test_)
+ TESTS=$(declare -F | awk '{print $3}' | __grep ^test_)
elif [ -n "${TEST_WARNINGS_OUTPUT_FILE:-}" ]; then
- if grep -q "TESTS=" "$TEST_script" ; then
+ if __grep "TESTS=" "$TEST_script" ; then
echo "TESTS variable overridden in Bazel sh_test. Please remove before submitting" \
>> "$TEST_WARNINGS_OUTPUT_FILE"
fi