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