History log of /freebsd-10.1-release/usr.bin/sed/tests/
Revision Date Author Comments
272461 03-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


264996 27-Apr-2014 jmmv

MFC various moves of tools/regressions/ tests to the new infrastructure.

- r263220 Migrate tools/regression/sbin/ to the new tests layout.
- r263222 Add Makefile missed in r263220.
- r263226 Migrate tools/regression/{usr.bin/lastcomm,usr.sbin}/ to the new tests layout.
- r263227 Migrate most of tools/regression/usr.bin/ to the new tests layout.
- r263345 Expand tabs that sneaked in into spaces.
- r263346 Migrate tools/regression/usr.bin/make/ to the new tests layout.
- r263348 Add Makefiles missed in r263346.
- r263351 Migrate tools/regression/usr.bin/pkill/ to the new tests layout.
- r263388 Mark multi_test as requiring /usr/share/dict/words.
- r263814 Fix path to the run.pl script to let these tests run.
- r264742 Prevent building tests when bootstrapping make.

This is 'make tinderbox' clean.


263227 16-Mar-2014 jmmv

Migrate most of tools/regression/usr.bin/ to the new tests layout.

I'm starting with the easy cases. The leftovers need to be looked at a
bit more closely.

Note that this change _does_ modify the code of the old tests. This is
required in order to allow the code to locate the data files in the
source directory instead of the current directory, because Kyua
automatically changes the latter to a temporary directory.

Also note that at least one test is known to be broken here. Actually,
the test is not really broken: it's marked as a TODO but unfortunately
Kyua's TAP parser currently does not understand that. Will have to be
fixed separately.


262959 09-Mar-2014 jmmv

Fix sed tests so that they run cleanly with prove.


259133 09-Dec-2013 eadler

Add regression test for recently added 'i' flag in r259132.

PR: standards/184641


228975 30-Dec-2011 uqs

Spelling fixes for tools/

Add some $FreeBSD$ tags so svn will allow the commit.


217134 08-Jan-2011 jilles

sed: Add test for r217133 (-i race).

PR: bin/153261
MFC after: 2 weeks


201490 04-Jan-2010 obrien

There are actually 129 tests here.


197509 25-Sep-2009 des

Wipe out mergeinfo.


197362 20-Sep-2009 dds

IEEE Std 1003.1, 2004 Edition states:

"The escape sequence '\n' shall match a <newline> embedded in
the pattern space."

It is unclear whether this also applies to a \n embedded in a
character class. Disable the existing handling of \n in a character
class following Mac OS X, GNU sed version 4.1.5 with --posix, and
SunOS 5.10 /usr/bin/sed.

Pointed by: Marius Strobl
Obtained from: Mac OS X


197361 20-Sep-2009 dds

Follow POSIX (IEEE Std 1003.1, 2004 Edition) in the implementation
of the y (translate) command.

"If a backslash character is immediately followed by a backslash
character in string1 or string2, the two backslash characters shall
be counted as a single literal backslash character"

Pointed by: Marius Strobl
Obtained from: Mac OS X


197360 20-Sep-2009 dds

Add correct test results.


197357 20-Sep-2009 dds

Describe how other systems treat this case.


197356 20-Sep-2009 dds

Allow [ to be used as a delimiter.

Pointed by: Marius Strobl
Obtained from: Apple


197352 20-Sep-2009 dds

The transition to Subversion allows us to rename files without
repo-copy hacks.
Remove the test-number prefix from the name of the output files,
so that new test cases can be easily added.


192733 25-May-2009 brian

Regression test the 'addr1,+N' feature added in r192732


184852 11-Nov-2008 dds

Add a test for the "or more" part of the following POSIX specification.

"A function can be preceded by one or more '!' characters, in which
case the function shall be applied if the addresses do not select
the pattern space."


180208 03-Jul-2008 peter

Set magic fbsd:nokeywords property that allows files to bypass
keyword expansion. (file-specific replacement for CVSROOT/exclude)


174656 16-Dec-2007 dds

Make the reported number of tests match their actual number.
This fixes the reporting under prove(1)


174655 16-Dec-2007 dds

cd to the correct directory so that the tests can be run from prove(1)


171285 06-Jul-2007 delphij

Add a test case for sed(1) regression - we should not ignore case
when not being asked to do so.

Approved by: re (hrs)


171206 04-Jul-2007 ssouhlal

Add case-insensitive matching to sed, using the 'I' flag, similarly to GNU sed.
For example,
sed /foo/Id
sed s/foo/bar/Ig

Reviewed by: dds
Approved by: re (hrs)


170608 12-Jun-2007 yar

Don't forget to clear out the hold space for each subsequent file
when in -i mode so that each file gets a clean context of its own.

Add a regression test for the bug.

Tested with: regression tests


168921 21-Apr-2007 yar

Change the semantics of -i (in-place editing) so that it treats
each file independently from other files. The new semantics are
desired in the most of practical cases, e.g.: delete lines 5-9
from each file.

Keep the previous semantics of -i under a new option, -I, which
uses a single continuous address space covering all files to edit
in-place -- they are too cool to just drop them.

Add regression tests for -i and -I.

Approved by: dds
Compared with: GNU sed
Discussed on: -hackers
MFC after: 2 weeks


168259 02-Apr-2007 yar

Logically separate the complex `hanoi' and `math' tests from basic tests.


168258 02-Apr-2007 yar

Don't forget to close the range if we branched over its end
and had no chance to match it by the 2nd address precisely.
Otherwise the unclosed range would bogusly extend to the end
of stream.

Add a basic regression test for the bug fixed. (This change
also fixes the more complex case 5.3 from `multitest.t'.)

Compared with: SUN and GNU seds
Tested by: regression tests
MFC after: 1 week


168257 02-Apr-2007 yar

Today SUN and GNU seds fully agree on test 5.3 and behave
in a more reasonable way than BSD sed does: they properly
close the range even if we branched over its end. No doubt,
the range `1,5' should not match lines from 9 through 14.


168211 01-Apr-2007 yar

This trivial change should fix at least 3 similar bugs. All of
them are related to the `c' function's need to know if we are at
the actual end of the address range. (It must print the text not
earlier than the whole pattern space was deleted.) It appears the
only sed function with this requirement.

There is `lastaddr' set by applies(), which is to notify the `c'
function, but it can't always help because it's false when we are
hitting the end of file early. There is also a bug in applies()
due to which `lastaddr' isn't set to true on degenerate ranges such
as `$,$' or `N,$' if N appears the last line number.

Handling early EOF condition in applies() could look more logical,
but it would effectively revert sed to the unreasonable behaviour
rev. 1.26 of main.c fought against, as it would require lastline()
be called for each line within each address range. So it's better
to call lastline() only if needed by the `c' function.

Together with this change to sed go regression tests for the bugs
fixed (c1-c3). A basic test of `c' (c0) is also added as it helped
me to spot my own error.

Discussed with: dds
Tested by: the regression tests
MFC after: 1 week


167569 14-Mar-2007 dds

Rename sed.test to multitest.t to comply with the naming scheme of
the regression suite.


167555 14-Mar-2007 dds

Reinstate error-testing regression tests.


167552 14-Mar-2007 dds

Integrate the tests I wrote in 1992 with our current regression
testing framework and protocol.


167550 14-Mar-2007 dds

Reference results for sed.test (to be renamed into multitest.t).
I have verified these with GNU sed 4.1.5 (and in some cases with Solaris
sed) and they are identical, with the following exceptions:
5.3: The result is unspecified and BSD sed behaves differently.
6.3: GNU sed gets it wrong
7.1: GNU sed gets it wrong
7.8: BSD sed gets it wrong


167549 14-Mar-2007 dds

- Uncomment tests that were commented out
- Update platform-conditional tests to reflect current reality
- Fix conditional for test 7.8: it is the fault of BSD sed


167547 14-Mar-2007 dds

- It looks like BSD and GNU sed can nowadays pass two more tests.
- Test 7.8 fails for GNU sed not BSD.


167546 14-Mar-2007 dds

Use another non-printing test; address 0 now has a special meaning in GNU sed.


167544 14-Mar-2007 dds

Update tests to reflect the state of the art of sed in HEAD and
GNU sed 4.1.5.
Almost all of the tests that were skipped for BSD or GNU sed
now appear to work.


167537 14-Mar-2007 dds

Add sed math regression test.


167536 14-Mar-2007 dds

Add Towers of Hanoi regression test.


167531 14-Mar-2007 dds

Add missing newline to correct failure of the regression test.
According to IEEE Std 1003.1, 2004 "Whenever the pattern space is
written to standard output or a named file, sed shall immediately
follow it with a <newline>."

An attempt at the same correction might have been made with r1.3,
which is however identical with r1.2.


137587 11-Nov-2004 nik

Switch over to a different, more flexible test output protocol that's
understood by Perl's Test::Harness module and prove(1) commands.

Update README to describe the new protocol. The work's broken down into
two main sets of changes.

First, update the existing test programs (shell scripts and C programs)
to produce output in the ok/not ok format, and to, where possible, also
produce a header describing the number of tests that are expected to be
run.

Second, provide the .t files that actually run the tests. In some cases
these are copies of, or very similar too, scripts that already existed.
I've kept the old scripts around so that it's possible to verify that
behaviour under this new system (in terms of whether or not a test fails)
is identical to the behaviour under the old system.

Add a TODO file.


133385 09-Aug-2004 dds

Per letter dated July 22, 1999 remove 3rd clause of Berkeley derived
software (original contributor).

Reviewed by: imp


128785 01-May-2004 smkelly

A new version that does exponents and lots of other neat things. Update
from the original author of math.sed.

Submitted by: K S Braunsdorf <sed@ksb.npcguild.org>


117900 22-Jul-2003 dds

Test 8.16 in sed.test tests the ability of a sed to handle an empty
regular expression as the first argument to a substitute command. If
used to test a sed which (erroneously) evaluates this at translation
time rather than at execution time, the bugged sed is put into an
infinite loop. This mode of failure seems excessive. Such a failing
sed is the Free Software Foundation's sed 3.02.

The specific test was also not being executed for the BSD sed.

Both problems are now fixed.

PR: misc/25585
Submitted by: Walter Briscoe <w.briscoe@ponl.com>
Approved by: schweikh (mentor)
MFC after: 2 weeks


115829 04-Jun-2003 fanf

Add tests for the behaviour of substitution when the regex can match
a zero-length string. This shows bugs in the s///g and s///2+ cases.


99400 04-Jul-2002 tjr

Update another mention of <CR><CR> I missed the first time around (rev 1.2)


99355 03-Jul-2002 tjr

Note that two carriage returns aren't required after entering the
initial setup anymore (since process.c rev. 1.25). Add $FreeBSD$.

MFC after: 2 weeks


98913 27-Jun-2002 jmallett

The wrong y/// output got spammed into this file; from green@ indirectly.


98912 27-Jun-2002 green

Correct the psl regression test for sed(1)'s now-fixed newline
behavior. Add the bcb regression test which checks for failures due
to a backslash ('\') coinciding with the very last character of the
command buffer. The regression test is cf. this PR (which I did not
know about) and has a different fix for the bug.

PR: bin/22351
Submitted by: Stefan Duerholt <stefan.duerholt@t-online.de>


98881 26-Jun-2002 jmallett

Erk, I forgot that regress.in has an ending newline, so change the test for
transliterate to use echo -n to supress newline and a simple string.


98811 25-Jun-2002 jmallett

Add a regression test for transliterate which happens to match characters
at an EOL/EOF, and therefore should catch the broken behaviour fixed by
Tim J. Robbins in sed(1) recently.

Suggested by: obrien


98754 24-Jun-2002 jmallett

Convert straightforward regression tests to use regress.m4.

Goodbye, duplicated code, you will certainly not be missed.


95538 27-Apr-2002 jmallett

Prefix tests with PASS and FAIL, to make grepping easier, and note this in
the README.

This affects only the base-system regression tests, of course.


95169 21-Apr-2002 jmallett

For the P function, the newline must be considered a part of the pattern
space, so when printing it, don't let the pattern space and the output run
into eachother by omitting the \n when printing.


95168 21-Apr-2002 jmallett

Add sed(1) tests for proper behaviour of the G option as fixed in PR 26152,
and for proper behaviour of some sed functions given a nil pattern space,
as fixed in PR 34813.

The test for G was based on the test in the PR. The nil pattern space test
is slightly different as we need to get *some* output, as the core dump will
also produce no output (old behaviour) and turn up falsely that the utility
is working fine.


17523 11-Aug-1996 ache

Make it at least semi-worked


1590 27-May-1994 rgrimes

BSD 4.4 Lite Usr.bin Sources