Ok, I've converted the contents of the "testing/sed" directory into a
authorRob Landley <rob@landley.net>
Thu, 10 Nov 2005 06:26:40 +0000 (06:26 -0000)
committerRob Landley <rob@landley.net>
Thu, 10 Nov 2005 06:26:40 +0000 (06:26 -0000)
commit990025a7d971bbbdd982d2d070d3e47628d0fac0
tree21e56ca95118f3874f7a889c285921377df47552
parentecfd1f6a350c91bd2b562cd3d04c160a54debc61
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
23 files changed:
testsuite/sed.tests [new file with mode: 0755]
testsuite/sed/sed-accepts-blanks-before-command [deleted file]
testsuite/sed/sed-aic-commands [deleted file]
testsuite/sed/sed-append-hold-space-to-pattern-space [deleted file]
testsuite/sed/sed-append-next-line [deleted file]
testsuite/sed/sed-branch [deleted file]
testsuite/sed/sed-branch-conditional [deleted file]
testsuite/sed/sed-branch-conditional-inverted [deleted file]
testsuite/sed/sed-branch-conditional2 [deleted file]
testsuite/sed/sed-branch-no-label [deleted file]
testsuite/sed/sed-chains-substs [deleted file]
testsuite/sed/sed-chains-substs2 [deleted file]
testsuite/sed/sed-does-not-substitute-in-deleted-line [deleted file]
testsuite/sed/sed-handles-embedded-slashes [deleted file]
testsuite/sed/sed-handles-empty-lines [deleted file]
testsuite/sed/sed-handles-unsatisfied-backrefs [deleted file]
testsuite/sed/sed-next-line [deleted file]
testsuite/sed/sed-prints-line-once-for-multiple-substs [deleted file]
testsuite/sed/sed-recurses-properly [deleted file]
testsuite/sed/sed-regex-match-newline [deleted file]
testsuite/sed/sed-splits-edit-commands-on-command-line [deleted file]
testsuite/sed/sed-subst-subprint [deleted file]
testsuite/sed/sed-write-to-stdout [deleted file]