diff options
author | Rob Landley | 2005-11-10 06:26:40 +0000 |
---|---|---|
committer | Rob Landley | 2005-11-10 06:26:40 +0000 |
commit | 990025a7d971bbbdd982d2d070d3e47628d0fac0 (patch) | |
tree | 21e56ca95118f3874f7a889c285921377df47552 /testsuite/sed | |
parent | ecfd1f6a350c91bd2b562cd3d04c160a54debc61 (diff) | |
download | busybox-990025a7d971bbbdd982d2d070d3e47628d0fac0.zip busybox-990025a7d971bbbdd982d2d070d3e47628d0fac0.tar.gz |
Ok, I've converted the contents of the "testing/sed" directory into a
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
Diffstat (limited to 'testsuite/sed')
22 files changed, 0 insertions, 276 deletions
diff --git a/testsuite/sed/sed-accepts-blanks-before-command b/testsuite/sed/sed-accepts-blanks-before-command deleted file mode 100644 index 9597c2f..0000000 --- a/testsuite/sed/sed-accepts-blanks-before-command +++ /dev/null @@ -1 +0,0 @@ -busybox sed -e '1 d' </dev/null diff --git a/testsuite/sed/sed-aic-commands b/testsuite/sed/sed-aic-commands deleted file mode 100644 index b41c14a..0000000 --- a/testsuite/sed/sed-aic-commands +++ /dev/null @@ -1,134 +0,0 @@ -cat - >input <<EOF -2i\\ -before 2 -5c\\ -Change 5 -10a\\ -After 10 -22i\\ -before 22\\ -Continued -25c\\ -Change 25\\ -Continued -20a\\ -After 20\\ -Continued - 32i\\ -before 32\\ -Continued 1\\ -Continued 2\\ -Continued 3 - 35c\\ -Change 35\\ -Continued 1\\ -Continued 2\\ -Continued 3 - 30a\\ -After 30\\ -Continued 1\\ -Continued 2\\ -Continued 3 -EOF -busybox sed -f input >output <<EOF - 1 y - 2 y - 3 y - 4 y - 5 y - 6 y - 7 y - 8 y - 9 y - 10 y - 11 y - 12 y - 13 y - 14 y - 15 y - 16 y - 17 y - 18 y - 19 y - 20 y - 21 y - 22 y - 23 y - 24 y - 25 y - 26 y - 27 y - 28 y - 29 y - 30 y - 31 y - 32 y - 33 y - 34 y - 35 y - 36 y - 37 y - 38 y - 39 y - 40 y -EOF -cmp -s output - <<EOF - 1 y -before 2 - 2 y - 3 y - 4 y -Change 5 - 6 y - 7 y - 8 y - 9 y - 10 y -After 10 - 11 y - 12 y - 13 y - 14 y - 15 y - 16 y - 17 y - 18 y - 19 y - 20 y -After 20 -Continued - 21 y -before 22 -Continued - 22 y - 23 y - 24 y -Change 25 -Continued - 26 y - 27 y - 28 y - 29 y - 30 y -After 30 -Continued 1 -Continued 2 -Continued 3 - 31 y -before 32 -Continued 1 -Continued 2 -Continued 3 - 32 y - 33 y - 34 y -Change 35 -Continued 1 -Continued 2 -Continued 3 - 36 y - 37 y - 38 y - 39 y - 40 y -EOF diff --git a/testsuite/sed/sed-append-hold-space-to-pattern-space b/testsuite/sed/sed-append-hold-space-to-pattern-space deleted file mode 100644 index 6dda80f..0000000 --- a/testsuite/sed/sed-append-hold-space-to-pattern-space +++ /dev/null @@ -1,13 +0,0 @@ -busybox sed 'G'>output <<EOF -a -b -c -EOF -cmp -s output - <<EOF -a - -b - -c - -EOF diff --git a/testsuite/sed/sed-append-next-line b/testsuite/sed/sed-append-next-line deleted file mode 100644 index 0621a31..0000000 --- a/testsuite/sed/sed-append-next-line +++ /dev/null @@ -1,19 +0,0 @@ -# This will fail if CONFIG_FEATURE_SED_GNU_COMPATABILITY is defined -busybox sed 'N;p'>output <<EOF -a -b -c -EOF - -set +e -cmp -s output - <<EOF -a -b -a -b -c -EOF -if [ $? != 0 ] ; then - exit 0; -fi -exit 1; diff --git a/testsuite/sed/sed-branch b/testsuite/sed/sed-branch deleted file mode 100644 index 4167569..0000000 --- a/testsuite/sed/sed-branch +++ /dev/null @@ -1 +0,0 @@ -test "$(echo foo | busybox sed 'b one;p;: one')" = foo diff --git a/testsuite/sed/sed-branch-conditional b/testsuite/sed/sed-branch-conditional deleted file mode 100644 index 47d0a5f..0000000 --- a/testsuite/sed/sed-branch-conditional +++ /dev/null @@ -1,15 +0,0 @@ -busybox sed 's/a/1/;t one;p;: one;p'>output <<EOF -a -b -c -EOF -cmp -s output - <<EOF -1 -1 -b -b -b -c -c -c -EOF diff --git a/testsuite/sed/sed-branch-conditional-inverted b/testsuite/sed/sed-branch-conditional-inverted deleted file mode 100755 index f4df84b..0000000 --- a/testsuite/sed/sed-branch-conditional-inverted +++ /dev/null @@ -1,14 +0,0 @@ -busybox sed 's/a/1/;T notone;p;: notone;p'>output <<EOF -a -b -c -EOF -cmp -s output - <<EOF -1 -1 -1 -b -b -c -c -EOF diff --git a/testsuite/sed/sed-branch-conditional2 b/testsuite/sed/sed-branch-conditional2 deleted file mode 100644 index f4b11f0..0000000 --- a/testsuite/sed/sed-branch-conditional2 +++ /dev/null @@ -1,11 +0,0 @@ -#XFAIL -busybox sed 's/a/b/;:loop;t loop'>output <<EOF -a -b -c -EOF -cmp -s output - <<EOF -b -b -c -EOF diff --git a/testsuite/sed/sed-branch-no-label b/testsuite/sed/sed-branch-no-label deleted file mode 100644 index 446c1bc..0000000 --- a/testsuite/sed/sed-branch-no-label +++ /dev/null @@ -1 +0,0 @@ -test "$(echo foo | busybox sed 'b;p')" = foo diff --git a/testsuite/sed/sed-chains-substs b/testsuite/sed/sed-chains-substs deleted file mode 100644 index 266936a..0000000 --- a/testsuite/sed/sed-chains-substs +++ /dev/null @@ -1 +0,0 @@ -test "$(echo foo | busybox sed -e s/foo/bar/ -e s/bar/baz/)" = baz diff --git a/testsuite/sed/sed-chains-substs2 b/testsuite/sed/sed-chains-substs2 deleted file mode 100644 index 90568f6..0000000 --- a/testsuite/sed/sed-chains-substs2 +++ /dev/null @@ -1 +0,0 @@ -test x"$(echo foo | busybox -n sed -e s/foo/bar/ -e s/foo/baz/)" = x diff --git a/testsuite/sed/sed-does-not-substitute-in-deleted-line b/testsuite/sed/sed-does-not-substitute-in-deleted-line deleted file mode 100644 index 6f106e1..0000000 --- a/testsuite/sed/sed-does-not-substitute-in-deleted-line +++ /dev/null @@ -1,2 +0,0 @@ -echo foo | busybox sed -e /foo/d -e s/foo/bar/ >foo -cmp foo /dev/null diff --git a/testsuite/sed/sed-handles-embedded-slashes b/testsuite/sed/sed-handles-embedded-slashes deleted file mode 100644 index cc28761..0000000 --- a/testsuite/sed/sed-handles-embedded-slashes +++ /dev/null @@ -1 +0,0 @@ -test "$(echo fu/bar | busybox sed -e 's/[/]//')" = fubar diff --git a/testsuite/sed/sed-handles-empty-lines b/testsuite/sed/sed-handles-empty-lines deleted file mode 100644 index 2bb8f04..0000000 --- a/testsuite/sed/sed-handles-empty-lines +++ /dev/null @@ -1 +0,0 @@ -test `echo | busybox sed -e 's/$/@/'` = @ diff --git a/testsuite/sed/sed-handles-unsatisfied-backrefs b/testsuite/sed/sed-handles-unsatisfied-backrefs deleted file mode 100644 index 61bff88..0000000 --- a/testsuite/sed/sed-handles-unsatisfied-backrefs +++ /dev/null @@ -1,6 +0,0 @@ -busybox sed -e 's/.*root=/\1/' >output <<EOF -BOOT_IMAGE=vmlinuz root=/dev/hda5 initrd=init1 -EOF -cmp -s output - <<EOF -/dev/hda5 initrd=init1 -EOF diff --git a/testsuite/sed/sed-next-line b/testsuite/sed/sed-next-line deleted file mode 100644 index 38fe20c..0000000 --- a/testsuite/sed/sed-next-line +++ /dev/null @@ -1,12 +0,0 @@ -busybox sed 'n;p'>output <<EOF -a -b -c -EOF -cmp -s output - <<EOF -a -b -b -c -c -EOF diff --git a/testsuite/sed/sed-prints-line-once-for-multiple-substs b/testsuite/sed/sed-prints-line-once-for-multiple-substs deleted file mode 100644 index ba8955d..0000000 --- a/testsuite/sed/sed-prints-line-once-for-multiple-substs +++ /dev/null @@ -1,4 +0,0 @@ -busybox sed -e s/1/2/g -e s/3/4/g >output <<EOF -1 -EOF -echo 2 | cmp -s output - diff --git a/testsuite/sed/sed-recurses-properly b/testsuite/sed/sed-recurses-properly deleted file mode 100644 index a02667b..0000000 --- a/testsuite/sed/sed-recurses-properly +++ /dev/null @@ -1 +0,0 @@ -test "`echo '12345' | busybox sed -e 's/[[:space:]]*/,/g')` = ',1,2,3,4,5,'" diff --git a/testsuite/sed/sed-regex-match-newline b/testsuite/sed/sed-regex-match-newline deleted file mode 100644 index 1057e17..0000000 --- a/testsuite/sed/sed-regex-match-newline +++ /dev/null @@ -1,10 +0,0 @@ -# FEATURE: CONFIG_FEATURE_SED_EMBEDED_NEWLINE -busybox sed -n 'N;/a\nb/p'>output <<EOF -a -b -c -EOF -cmp -s output - <<EOF -a -b -EOF diff --git a/testsuite/sed/sed-splits-edit-commands-on-command-line b/testsuite/sed/sed-splits-edit-commands-on-command-line deleted file mode 100644 index 6421fa5..0000000 --- a/testsuite/sed/sed-splits-edit-commands-on-command-line +++ /dev/null @@ -1,9 +0,0 @@ -echo 2 | busybox sed -e 'i\ -1 -a\ -3' > output -cmp output - <<EOF -1 -2 -3 -EOF diff --git a/testsuite/sed/sed-subst-subprint b/testsuite/sed/sed-subst-subprint deleted file mode 100644 index 24f8bad..0000000 --- a/testsuite/sed/sed-subst-subprint +++ /dev/null @@ -1,9 +0,0 @@ -busybox sed 's/foo/bar/p'>output <<EOF -foo -bar -EOF -cmp -s output - <<EOF -bar -bar -bar -EOF diff --git a/testsuite/sed/sed-write-to-stdout b/testsuite/sed/sed-write-to-stdout deleted file mode 100644 index 95b4d72..0000000 --- a/testsuite/sed/sed-write-to-stdout +++ /dev/null @@ -1,10 +0,0 @@ -busybox sed -n 'N;P;p'>output <<EOF -a -b -c -EOF -cmp -s output - <<EOF -a -a -b -EOF |