diff options
author | Sören Tempel <soeren+git@soeren-tempel.net> | 2020-03-30 11:02:08 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2020-04-30 00:20:18 +0200 |
commit | 42a8984abc5eed709addac263aab43d64d47257d (patch) | |
tree | 94ca67b5972f991b805073ed6aefbac23b36b96c /testsuite | |
parent | c3295d233b6a7d924814eec9a5c5999a876daf9e (diff) |
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-x | testsuite/grep.tests | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/testsuite/grep.tests b/testsuite/grep.tests index 9c1f35499..e38278810 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 |