grep: for -L, exitcode 0 means files *without* matches were found, closes 13151

This is a recent change in GNU grep as well (after 3.1)

function                                             old     new   delta
grep_file                                           1215    1228     +13

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2020-08-15 00:39:30 +02:00
parent 5c69ad0ecd
commit a77f3ecf68
2 changed files with 22 additions and 15 deletions

View File

@@ -96,6 +96,14 @@ testing "grep -x -F (partial match 1)" "grep -x -F foo input ; echo \$?" \
testing "grep -x -F (partial match 2)" "grep -x -F foo input ; echo \$?" \
"1\n" "bar foo\n" ""
# -L "show filenames which do not match" has inverted exitcode (if it printed something, it's "success")
testing "grep -L exitcode 0" "grep -L qwe input; echo \$?" \
"input\n0\n" "asd\n" ""
testing "grep -L exitcode 0 #2" "grep -L qwe input -; echo \$?" \
"(standard input)\n0\n" "qwe\n" "asd\n"
testing "grep -L exitcode 1" "grep -L qwe input; echo \$?" \
"1\n" "qwe\n" ""
optional EGREP
testing "grep -E supports extended regexps" "grep -E fo+" "foo\n" "" \
"b\ar\nfoo\nbaz"