aboutsummaryrefslogtreecommitdiff
path: root/testsuite/grep.tests
AgeCommit message (Collapse)Author
2020-04-30grep: add proper support for pattern_listSören Tempel
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>
2020-04-29grep: Fix -f FILE when FILE is empty and -x providedGray Wolf
Grep currently special-cased empty pattern file to be the same as pattern file with one empty line (empty pattern). That does mirror how GNU grep behaves, except when -x is provided. In that case .* pattern needs to be used instead. Signed-off-by: Gray Wolf <wolf@wolfsden.cz> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-29grep: fix -x -v with certain pattern ordersAri Sundholm
We found out that busybox -x -v is a bit broken: ari@ari-thinkpad:~/busybox$ echo ' aa bb cc' | ./busybox grep -x -e 'aa.*' -e '.*bb.*' aa bb cc ari@ari-thinkpad:~/busybox$ echo ' aa bb cc' | ./busybox grep -x -v -e 'aa.*' -e '.*bb.*' ari@ari-thinkpad:~/busybox$ echo ' aa bb cc' | ./busybox grep -x -e '.*aa.*' -e 'bb.*' aa bb cc ari@ari-thinkpad:~/busybox$ echo ' aa bb cc' | ./busybox grep -x -v -e '.*aa.*' -e 'bb.*' aa bb cc Last one is wrong. This patch fixes the issue by making sure that the variable 'found' never makes a transition from 1 to 0, as this would mean that grep previously found a match on this input line. Signed-off-by: Ari Sundholm <ari@tuxera.com> Signed-off-by: Niko Vähäsarja <niko@tuxera.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-04-09testsuite: allow tests to work in paths containing spacesRon Yorston
Tweak some tests so they work when the path to the test directory or $HOME contains spaces. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-03-29grep: fix echo "aa" | busybox grep -F -w "a" (should not match)Denys Vlasenko
function old new delta grep_file 1461 1470 +9 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-11-14Make grep/egrep/fgrep independently selectableDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-08-28grep: fix "grep -r PATTRN SYMLINK_TO_DIR"Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-02-27grep: fix -w match if first match isn't a word, but second is. Closes 4520Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-02-07grep: properly handle grep -w "^str" in !EXTRA_COMPAT case tooBartosz Golaszewski
function old new delta grep_file 1267 1288 +21 Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-01-07grep: fix two bugs with -wDenys Vlasenko
Unfortunately, with !EXTRA_COMPAT, "grep -w ^str" still erroneously matches "strstr". function old new delta grep_file 1499 1510 +11 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-05-16grep: fix grep -x to not set REG_NOSUBJames Hogan
When -F isn't specified (and !ENABLE_EXTRA_COMPAT), grep -x uses regexec's regmatch_t output to determine if the match was the entire line. However it also set the REG_NOSUB flag which makes it ignore the regmatch_t argument. Add an exception to the setting of REG_NOSUB for OPT_x and add some test cases to test the behaviour of -x. Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Natanael Copa <ncopa@alpinelinux.org> Cc: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-05-15grep: don't bail out on first mismatch if '-w' option is setBartosz Golaszewski
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-20grep: fix grep -Fw not respecting the -w option. Closes 5792Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-08-28grep: be GNU compatible with -f EMPTY_FILELauri Kasanen
Signed-off-by: Lauri Kasanen <curaga@operamail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-23grep: fix -o match with empty string (suggested by Colin Watson ↵Denys Vlasenko
<cjwatson@ubuntu.com>) function old new delta grep_file 1216 1251 +35 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-16*: make GNU licensing statement forms more regularDenys Vlasenko
This change retains "or later" state! No licensing _changes_ here, only form is adjusted (article, space between "GPL" and "v2" and so on). Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-30grep: fix -FiIan Wienand
function old new delta grep_file 1151 1169 +18 Signed-off-by: Ian Wienand <ianw@vmware.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-14testsuite: don't run grep NUL tests when we know the would failDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-04grep: fix a case when -o loops foreverDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-04tests: fix POSIX shell source styleMike Frysinger
The source command does not search $PWD, and bash recently fixed itself to follow this behavior for /bin/sh. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-07-29grep: fix -E + {range}; fix -o not printing all matches (bug 489)Denys Vlasenko
two different bugs, one with EXTRA_COMPAT, other without. function old new delta grep_file 1132 1129 -3 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2008-08-09grep: option to use GNU regex matching instead of POSIX one.Denis Vlasenko
This fixes problems with NULs in files being scanned, but costs +800 bytes. The same can be done to sed (TODO).
2008-06-07grep: make "-f -" work (+ testsuite)Denis Vlasenko
diff: small code shrink function old new delta grep_main 722 714 -8 diffreg 1825 1793 -32 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-40) Total: -40 bytes
2008-05-02clarify grep versionDenis Vlasenko
2008-05-02fix grep test false positiveDenis Vlasenko
2007-11-26fix vda's testsuite bogons, part 1Denis Vlasenko
2007-11-26testsuite: add tests for cut and grep;Denis Vlasenko
slight improvements to infrastructure
2006-09-17whitespace cleanupDenis Vlasenko
2006-06-04- add testcase for grep bug (http://busybox.net/bugs/view.php?id=887)Bernhard Reutner-Fischer
The patch for bug #887 seems to work for me..
2006-03-16Redo test suite to be able to test more than one command at a time. EliminateRob Landley
$COMMAND environment variable, instead put full command line (including command to run) in second argument. Modify $PATH to have test versions of commands at start of path. (Also more infrastructure for testing as root, work in progress...)
2005-11-07Fix the test suite so that individual *.tests files can be run alaRob Landley
COMMAND=sort ./sort.tests So we can compare against non-busybox versions, and possibly our testsuite will be useful to somebody like the Linux Test Project someday. Redid testing.sh to add new command, "optional", to skip tests that require certain features. (use: `optional FEATURE_SORT_BIG`, or `optional ""` to stop skipping.) Note that optional is a NOP if the environment variable "OPTIONFLAGS" is blank, so although we're marking up the tests with busybox specific knowledge, it doesn't interfere with running the tests without busybox. Moved setting the "OPTIONFLAGS" environment variable to runtest. Philosophy: busybox-specific stuff belongs in runtest; both testing.sh and the tests themselves should be as busybox-agnostic as possible. Moved detecting that a command isn't in busybox at all (hence skipping the entire command.tests file) to runtests. Rationale: optional can't currently test for more than one feature at a time, so if we clear anything with optional "" we might perform tests we don't want to. Marked up busybox.tests to know which tests need CAT enabled. Fixed up other tests to be happy with new notation. I suspect egrep should be appended to grep. It's a sub-feature, really...
2005-09-23- set executable bitBernhard Reutner-Fischer
2005-09-23- introduce variable _BB_CONFIG_DEP to the new test harness.Bernhard Reutner-Fischer
This is used to see if given tests should be run (are available) or not. Print "UNTESTED: descr" if the applet or feature is not available. - add _BB_CONFIG_DEP to existing new.tests - move old grep test to new test infrastructure and add a few more test for grep.