"grep -s domatch nonexistent - ; echo \$?" \
"(standard input):domatch\n2\n" "" "nomatch\ndomatch\nend\n"
+optional EXTRA_COMPAT
testing "grep handles NUL in files" "grep -a foo input" "\0foo\n" "\0foo\n\n" ""
testing "grep handles NUL on stdin" "grep -a foo" "\0foo\n" "" "\0foo\n\n"
testing "grep matches NUL" "grep . input > /dev/null 2>&1 ; echo \$?" \
"0\n" "\0\n" ""
+SKIP=
# -e regex
testing "grep handles multiple regexps" "grep -e one -e two input ; echo \$?" \
testing "grep is also egrep" "egrep foo" "foo\n" "" "foo\nbar\n"
testing "egrep is not case insensitive" \
"egrep foo ; [ \$? -ne 0 ] && echo yes" "yes\n" "" "FOO\n"
-
testing "grep -E -o prints all matches" \
"grep -E -o '([[:xdigit:]]{2}[:-]){5}[[:xdigit:]]{2}'" \
"00:19:3E:00:AA:5E\n00:1D:60:3D:3A:FB\n00:22:43:49:FB:AA\n" \
"" "00:19:3E:00:AA:5E 00:1D:60:3D:3A:FB 00:22:43:49:FB:AA\n"
+SKIP=
testing "grep -o does not loop forever" \
'grep -o "[^/]*$"' \