summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorSören Tempel2020-03-30 11:02:08 +0200
committerDenys Vlasenko2020-04-30 00:20:18 +0200
commit42a8984abc5eed709addac263aab43d64d47257d (patch)
tree94ca67b5972f991b805073ed6aefbac23b36b96c /testsuite
parentc3295d233b6a7d924814eec9a5c5999a876daf9e (diff)
downloadbusybox-42a8984abc5eed709addac263aab43d64d47257d.zip
busybox-42a8984abc5eed709addac263aab43d64d47257d.tar.gz
grep: add proper support for pattern_list
From POSIX.1-2008: The pattern_list's value shall consist of one or more patterns separated by <newline> characters; As such, given patterns need to be split at newline characters. Without doing so, busybox grep will interpret the newline as part of the pattern which is not in accordance with POSIX. See also: https://bugs.busybox.net/show_bug.cgi?id=12721 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'testsuite')
-rwxr-xr-xtestsuite/grep.tests12
1 files changed, 12 insertions, 0 deletions
diff --git a/testsuite/grep.tests b/testsuite/grep.tests
index 9c1f354..e382788 100755
--- a/testsuite/grep.tests
+++ b/testsuite/grep.tests
@@ -190,6 +190,18 @@ testing "grep -x -v -e EXP1 -e EXP2 finds nothing if either EXP matches" \
"" \
" aa bb cc\n"
+testing "grep PATTERN can be a newline-delimited list" \
+ 'grep -Fv "$(printf "foo\nbar\n")"' \
+ "baz\n" \
+ "" \
+ "foo\nbar\nbaz\n"
+
+testing "grep -e PATTERN can be a newline-delimited list" \
+ 'grep -Fv -e "$(printf "foo\nbar\n")"' \
+ "baz\n" \
+ "" \
+ "foo\nbar\nbaz\n"
+
# -r on symlink to dir should recurse into dir
mkdir -p grep.testdir/foo
echo bar > grep.testdir/foo/file