summaryrefslogtreecommitdiff
path: root/testsuite/sed.tests
Commit message (Collapse)AuthorAgeFilesLines
* sed: fix handling of escaped delimiters in s/// replacementDenys Vlasenko2022-01-231-2/+7
| | | | | | | function old new delta parse_regex_delim 111 140 +29 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix handling of escaped delimiters in s/// search pattern, closes 14541Denys Vlasenko2022-01-231-0/+10
| | | | | | | | | | | | function old new delta copy_parsing_escapes 67 96 +29 parse_regex_delim 109 111 +2 get_address 213 215 +2 add_cmd 1176 1178 +2 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 4/0 up/down: 35/0) Total: 35 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: correctly handle 'w FILE' commands writing to the same fileDenys Vlasenko2022-01-041-0/+9
| | | | | | | function old new delta sed_xfopen_w - 84 +84 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: do not ignore 'g' modifier when match starts with ^Dominique Martinet2021-12-251-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is perfectly valid to start a regex with ^ and have other patterns with \| that can match more than once, e.g. the following example should print ca, as illustrated with gnu sed: $ echo 'abca' | sed -e 's/^a\|b//g' ca busybox before patch: $ echo 'abca' | busybox sed -e 's/^a\|b//g' bca busybox after patch: $ echo 'abca' | ./busybox sed -e 's/^a\|b//g' ca regcomp handles ^ perfectly well as illustrated with the second 'a' that did not match in the example, we ca leave the non-repeating to it if appropriate. The check had been added before using regcomp and was required at the time (f36635cec6da) but no longer makes sense now. (tested with glibc and musl libc) function old new delta add_cmd 1189 1176 -13 Signed-off-by: Dominique Martinet <asmadeus@codewreck.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix /regex/,+N match triggering only once, closes 11871Denys Vlasenko2019-05-131-0/+6
| | | | | | | function old new delta process_files 2235 2246 +11 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: in '/regexp/cmd1;//cmd2', cmd2 should use the same regexp as cmd1Denys Vlasenko2017-08-231-0/+6
| | | | | | | function old new delta get_address 165 211 +46 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix "sed n (flushes pattern space, terminates early)" testcase failureDenys Vlasenko2016-09-011-5/+1
| | | | | | Patch based on work by Dengke Du <dengke.du@windriver.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix append command to match GNU sed 4.2.1Denys Vlasenko2016-05-061-2/+4
| | | | | | This closes one testcase failure Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: understand \n,\r and \t in i and a commands. Closes 8871Denys Vlasenko2016-04-241-0/+18
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: make 's///w FILE' actually write to FILE. Closes 8251Denys Vlasenko2016-01-241-0/+6
| | | | | | | function old new delta add_cmd 1167 1210 +43 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: implement ",+N" range endDenys Vlasenko2015-04-171-0/+32
| | | | | | | | | | | function old new delta add_cmd 1115 1173 +58 process_files 2226 2253 +27 sed_main 696 702 +6 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/0 up/down: 91/0) Total: 91 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix a buglet in s///NUM handlingDenys Vlasenko2014-09-161-0/+4
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix "sed clusternewline" testcaseDenys Vlasenko2013-10-301-2/+0
| | | | | | | | | | | function old new delta process_files 2197 2226 +29 flush_append 47 54 +7 get_next_line 184 189 +5 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/0 up/down: 41/0) Total: 41 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix matching of newlines by $Denys Vlasenko2013-07-211-0/+21
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: yet another fix on top of zero length match codeDenys Vlasenko2012-06-081-1/+5
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix breakage added by zero length match codeDenys Vlasenko2012-06-071-0/+4
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix zero chars match/replaceDenys Vlasenko2012-06-041-2/+8
| | | | | | | function old new delta process_files 2099 2181 +82 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix handling of s/// which has empty matchesDenys Vlasenko2012-04-241-0/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix range handling for sed -i. Closes 4069Denys Vlasenko2011-08-161-3/+7
| | | | | | | | | | | function old new delta sed_main 606 618 +12 add_cmd 1099 1101 +2 process_files 2108 2099 -9 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/1 up/down: 14/-9) Total: 5 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: support \r in s commandDenys Vlasenko2011-05-031-0/+3
| | | | | | | function old new delta copy_parsing_escapes 65 91 +26 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* *: make GNU licensing statement forms more regularDenys Vlasenko2010-08-161-1/+1
| | | | | | | 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>
* sed: make N command behave as in GNU sedDenys Vlasenko2010-08-161-3/+11
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed.tests: make last test less confusingDenys Vlasenko2010-08-011-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix sed -i: unlike without -i, it does not forget rangesDenys Vlasenko2010-08-011-1/+6
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix a case when one-line range matches past lines. Closes bug 1867.Denys Vlasenko2010-06-041-0/+5
| | | | | | | | | | function old new delta process_files 2096 2107 +11 add_cmd 1142 1132 -10 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 11/-10) Total: 1 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* randomtest fixesDenys Vlasenko2010-05-121-2/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix a command with multible trailing backslashesDenys Vlasenko2010-05-121-0/+14
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix nested {} caseDenys Vlasenko2010-04-201-0/+5
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix c cmdDenys Vlasenko2010-04-191-0/+5
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tests: fix POSIX shell source styleMike Frysinger2009-11-041-1/+1
| | | | | | | 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>
* sed: fix " echo /usr/lib | sed 's,\(^/\|\)[^/][^/]*,..,g' " bugDenys Vlasenko2009-08-171-0/+7
| | | | | | | function old new delta process_files 2102 2091 -11 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* fix mountpoint test to not prevemt mkfs_xxx from making image in any fileDenys Vlasenko2009-07-181-1/+17
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: deal with peculiar behavior of '2d;2,1p' in GNU sedDenys Vlasenko2009-07-101-0/+5
| | | | | | | function old new delta process_files 2173 2120 -53 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sed: fix handling of 1d;1,3p and 1d;1,REGEXpDenys Vlasenko2009-06-301-0/+13
| | | | | | | function old new delta process_files 2084 2173 +89 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* testsuite: uniformly use $ECHO with -n -eDenis Vlasenko2008-07-111-1/+1
|
* sed: n cmd must reset "we had successful subst" flag. closes bug 1214.Denis Vlasenko2008-02-281-0/+6
|
* sed: support GNU-like '\t' escape in substitutionsDenis Vlasenko2007-11-131-0/+1
|
* sed: fix very obscure case of escaped newline in sed commandDenis Vlasenko2007-03-161-0/+4
| | | | (needed for uclibc build, btw). Add testcase for it.
* add to testsuite and fix yet another sed corner caseDenis Vlasenko2007-01-291-0/+3
|
* sed: fix 2 bugs (one testsuite entry + one newly found)Denis Vlasenko2007-01-291-0/+4
| | | | but more importantly make code more understandable
* fix all known regressions with sed and also make it simplerDenis Vlasenko2007-01-281-0/+5
|
* whitespace cleanupDenis Vlasenko2006-09-171-2/+2
|
* Rich Filker spotted that sed -e 's/xxx/[/' didn't work right. Did a smallerRob Landley2006-07-261-0/+2
| | | | | | fix than his, and shrank the code a bit on top of that so the net size is smaller, and added a test to the test suite for this case. Plus I cleaned up the #includes and removed unnecessary "const"s while I was there.
* Redo test suite to be able to test more than one command at a time. EliminateRob Landley2006-03-161-58/+63
| | | | | | | $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...)
* Yet more sed tests. Passing these is a to-do item for 1.1.2 or 1.2, not aRob Landley2006-03-011-9/+45
| | | | 1.1.1 issue.
* Lots of tests the fix to sed needs to pass...Rob Landley2006-02-231-0/+35
|
* Ok, I've converted the contents of the "testing/sed" directory into a Rob Landley2005-11-101-0/+109
sed.tests file. My brain hurts now. (Lots of boggling at sed minutiae and corner cases and going "why is gnu giving that output". The behavior of N and n with regard to EOF are only understandable if you read the Open Group spec, not if you read the sed info page, by the way...) Some of the existing sed tests are just nuts. For example, sed-next-line is testing for our behavior (which is wrong), and would fail if run against gnu sed (which was getting it right. Again, this was a spec-boggling moment, with much head scratching. I've got to add a debug mode where the stuff output by the p command is a different color from the stuff output by normal end of script printing (when not suppressed by -n).) As for sed-handles-unsatisifed-backrefs: what is this test trying to _do_? I ran it against gnu sed and got an error message, and this behavior sounds perfectly reasonable. (It _is_ an unsatisfied backref.) The fact we currently ignore this case (and treat \1 as an empty string) isn't really behavior we should have a test depend on for success. The remaining one is sed-aic-commands, which is long and complicated. I'm trying to figure out if I should chop this into a number of smaller tests, or if having one big "does-many-things" test is a good idea. In any case, the _next_ step is to go through the Open Group standard and make tests for every case not yet covered. (And there are plenty. There are few comments in the file already.) Plus I have notes about corner cases from development that I need to collate and put into here. This file is maybe the first 1/3 of a truly comprehensive sed test. Rob