summaryrefslogtreecommitdiff
path: root/testsuite/sed.tests
AgeCommit message (Collapse)Author
2022-01-23sed: fix handling of escaped delimiters in s/// replacementDenys Vlasenko
function old new delta parse_regex_delim 111 140 +29 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2022-01-23sed: fix handling of escaped delimiters in s/// search pattern, closes 14541Denys Vlasenko
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>
2022-01-04sed: correctly handle 'w FILE' commands writing to the same fileDenys Vlasenko
function old new delta sed_xfopen_w - 84 +84 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-12-25sed: do not ignore 'g' modifier when match starts with ^Dominique Martinet
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>
2019-05-13sed: fix /regex/,+N match triggering only once, closes 11871Denys Vlasenko
function old new delta process_files 2235 2246 +11 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-23sed: in '/regexp/cmd1;//cmd2', cmd2 should use the same regexp as cmd1Denys Vlasenko
function old new delta get_address 165 211 +46 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-09-01sed: fix "sed n (flushes pattern space, terminates early)" testcase failureDenys Vlasenko
Patch based on work by Dengke Du <dengke.du@windriver.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-05-06sed: fix append command to match GNU sed 4.2.1Denys Vlasenko
This closes one testcase failure Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-24sed: understand \n,\r and \t in i and a commands. Closes 8871Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-01-24sed: make 's///w FILE' actually write to FILE. Closes 8251Denys Vlasenko
function old new delta add_cmd 1167 1210 +43 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-04-17sed: implement ",+N" range endDenys Vlasenko
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>
2014-09-16sed: fix a buglet in s///NUM handlingDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-10-30sed: fix "sed clusternewline" testcaseDenys Vlasenko
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>
2013-07-21sed: fix matching of newlines by $Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-06-08sed: yet another fix on top of zero length match codeDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-06-07sed: fix breakage added by zero length match codeDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-06-04sed: fix zero chars match/replaceDenys Vlasenko
function old new delta process_files 2099 2181 +82 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-04-24sed: fix handling of s/// which has empty matchesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-08-16sed: fix range handling for sed -i. Closes 4069Denys Vlasenko
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>
2011-05-03sed: support \r in s commandDenys Vlasenko
function old new delta copy_parsing_escapes 65 91 +26 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-08-16sed: make N command behave as in GNU sedDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-01sed.tests: make last test less confusingDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-01sed: fix sed -i: unlike without -i, it does not forget rangesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-04sed: fix a case when one-line range matches past lines. Closes bug 1867.Denys Vlasenko
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>
2010-05-12randomtest fixesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-12sed: fix a command with multible trailing backslashesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-20sed: fix nested {} caseDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-19sed: fix c cmdDenys 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-08-17sed: fix " echo /usr/lib | sed 's,\(^/\|\)[^/][^/]*,..,g' " bugDenys Vlasenko
function old new delta process_files 2102 2091 -11 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-18fix mountpoint test to not prevemt mkfs_xxx from making image in any fileDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-10sed: deal with peculiar behavior of '2d;2,1p' in GNU sedDenys Vlasenko
function old new delta process_files 2173 2120 -53 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-30sed: fix handling of 1d;1,3p and 1d;1,REGEXpDenys Vlasenko
function old new delta process_files 2084 2173 +89 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2008-07-11testsuite: uniformly use $ECHO with -n -eDenis Vlasenko
2008-02-28sed: n cmd must reset "we had successful subst" flag. closes bug 1214.Denis Vlasenko
2007-11-13sed: support GNU-like '\t' escape in substitutionsDenis Vlasenko
2007-03-16sed: fix very obscure case of escaped newline in sed commandDenis Vlasenko
(needed for uclibc build, btw). Add testcase for it.
2007-01-29add to testsuite and fix yet another sed corner caseDenis Vlasenko
2007-01-29sed: fix 2 bugs (one testsuite entry + one newly found)Denis Vlasenko
but more importantly make code more understandable
2007-01-28fix all known regressions with sed and also make it simplerDenis Vlasenko
2006-09-17whitespace cleanupDenis Vlasenko
2006-07-26Rich Filker spotted that sed -e 's/xxx/[/' didn't work right. Did a smallerRob Landley
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.
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...)
2006-03-01Yet more sed tests. Passing these is a to-do item for 1.1.2 or 1.2, not aRob Landley
1.1.1 issue.
2006-02-23Lots of tests the fix to sed needs to pass...Rob Landley
2005-11-10Ok, I've converted the contents of the "testing/sed" directory into a Rob Landley
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