Commit Graph

62 Commits

Author SHA1 Message Date
harti
c90efa2b2f Fix builds with a read-only directory and a make upgrade. This is done
by forcing the creation of an object directory for the make regression
tests. Let make handle the tracking of the dependency and installation
of test_shell script.

Submitted by:	ru
2004-12-07 14:41:16 +00:00
ru
0a293bea5c Make this work under debugging, e.g., "make -dl". 2004-12-06 08:51:30 +00:00
harti
b9b9fdbd3f Make the tests runnable on a read-only src. To do this you must make sure
that you create one of the object directories make knows (see make(1)).
This uses the -C flag, so add a test that checks that make actually accepts
-C. Also fix the test that selects csh via the .SHELL target to work for
tcsh users too.

This commit renames shell_test to shell_test.sh. There is no history
to preserve so go without a repo-copy.

Reviewed by:	ru
2004-12-02 17:00:58 +00:00
harti
c87a620e46 Chmod the shell testscript to be executable if it isn't already. According
to the CVS-Meisters x-mode just happens to work, but is not guaranteed to
do so. Try to be on the safe side.
2004-11-30 15:33:18 +00:00
harti
f4e37f6f60 Add some regression tests for the .SHELL target. I'm not sure that the
output of shell_2j is actually correct - it just tests what make currently
does. Make should switch on echoing for the second line, shouldn't it?
2004-11-25 10:03:29 +00:00
nik
3e959a33f9 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.
2004-11-11 19:47:55 +00:00
ru
8cebff99b3 Add a regression test for the alternate shell specification. 2004-10-23 21:38:58 +00:00
harti
883c945b5c Now that make more correctly handles variable assignments
in .MAKEFLAGS targets enable the regression test for this.
2004-08-12 19:14:10 +00:00
dds
145dad6e9d Per letter dated July 22, 1999 remove 3rd clause of Berkeley derived
software (original contributor).

Reviewed by:	imp
2004-08-09 15:29:41 +00:00
harti
f2baa8f5ba Back out something I'm working on that crept in with the last commit.
Spotted by: ru
2004-08-05 09:11:44 +00:00
harti
679c187578 Remove extra spaces. Remove double quotes around error messages -
they are not needed and will actually be printed.

Submitted by:	ru
2004-08-05 08:44:00 +00:00
harti
c6e3261d2f Add another test that checks for a working '+' command flag. 2004-08-05 07:24:06 +00:00
harti
310a4a288d Add a regression test for the passing of command line
variable assignments via the MAKEFLAGS environment variable.
2004-08-04 07:40:58 +00:00
smkelly
47a42cf8e5 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>
2004-05-01 02:15:58 +00:00
ru
9f8626709a Add a test for what was broken in rev. 1.28 and fixed in rev. 1.29
of make/str.c.
2004-01-30 09:46:28 +00:00
ru
f9d4d91579 Add a test for what was fixed in revs. 1.28 and 1.29 of make/str.c. 2004-01-29 22:51:36 +00:00
ru
f246003ac7 Fix a bug that prevented exists() from finding "foo/", "foo/."
and "foo/.." when ".PATH: foo" was also given.

PR:		bin/34062
2003-10-02 21:30:30 +00:00
dds
739de7fe1d 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
2003-07-22 19:22:08 +00:00
ru
4360edf5db Fixed broken arithmetic expression parser.
Reminded by:	bde
In memory of:	alane
2003-07-04 13:33:48 +00:00
fanf
dc25e19e71 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.
2003-06-04 15:26:23 +00:00
gad
ba1743e91b The regression-tests for 'make' *expect* to trigger make's warning:
warning: duplicate script for target "double" ignored
The regression-tests do try to hide that message, but the message does
still appear when using -j (eg: 'make -j5 buildworld').  This changes the
regression-test so the expected warning message will not be seen even
when -j is specified.

Reviewed by:	jmallett  ru
2003-02-10 19:56:42 +00:00
ru
c474b1700b Add a test for what was fixed in revisions 1.39 and 1.50 of
make/parse.c (allow embedded `:' and `!' in target names).

Approved by:	re
2002-11-28 13:21:32 +00:00
ru
a227a02ef4 Moved make(1) regression tests from src/Makefile to where they
belong (src/tools/regression/usr.bin/make), and use the latter
to test if make(1) is adequate for building the world.

Approved by:	re
2002-11-28 13:08:09 +00:00
jmallett
46c27244eb Hide the test in <target> under '.if make(<target>)' so as to not get any
errors/warnings related to crud in said test block.
2002-10-25 06:17:44 +00:00
jmallett
1e37932579 As of revision 1.38 of make/parse.c, our make(1) will warn too. Note that
this isn't just for the sake of testing behaviour, and that things really
do break if this regression occurs.
2002-07-28 03:57:08 +00:00
tjr
25aa3182cb Update another mention of <CR><CR> I missed the first time around (rev 1.2) 2002-07-04 05:16:19 +00:00
tjr
f3c503c6ca 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
2002-07-03 14:42:53 +00:00
jmallett
583e068778 The wrong y/// output got spammed into this file; from green@ indirectly. 2002-06-27 16:07:51 +00:00
green
14942ad80d 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>
2002-06-27 15:58:59 +00:00
jmallett
1163aebcf2 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.
2002-06-26 16:57:36 +00:00
jmallett
44b97afa34 Reduce internal code duplication, add REGRESSION_PASSFAIL([testname]) to
handle printing of the PASS/FAIL messages.  Suffix PASS/FAIL/FATAL with the
string (in $directory) where $directory is ${.CURDIR} from make(1), to
make it easier to use grep(1) and a bit of sed/awk to do statistics of
failure for some utilities over time, etc.
2002-06-25 12:40:04 +00:00
jmallett
9cfbe015d8 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
2002-06-25 12:10:09 +00:00
jmallett
28b8ebcfcb I explicitly meant to not move any of this over to the new m4(1) framework,
even slightly.  Grrr CVS.
2002-06-24 14:29:19 +00:00
jmallett
9d6012e9cf Move all remaining tests except for:
make(1):	Does not work like the other tests.  Its Makefile is
			self-testing.
	m4(1):		It uses complex voodo to test GNU m4(1) features.

To the new framework.  I had worried about passing the binary data that
uudecode(1)'s test passes to diff(1) might give a user something nasty,
but this is unlikely to happen as even with an unmodified old nasty
diff(1) which doesn't recognise many binary files, these binary files
are recognised.  Using $DIFF instead of `diff' in the library and making
it possible to override this with `cmp -s' might be nice some day, but
as of this second, there's no immediate need.
2002-06-24 14:22:44 +00:00
jmallett
93460fd6ef Add two new mostly freeform types of regression tests, and a macro for dying
ungracefully.
2002-06-24 14:19:57 +00:00
jmallett
8446ba1ae0 Comments to describe what these macros do, so that someone other than me
might be able to figure out how to write some of these tests (hint hint).
2002-06-24 13:58:20 +00:00
jmallett
0309fb3139 Convert straightforward regression tests to use regress.m4.
Goodbye, duplicated code, you will certainly not be missed.
2002-06-24 13:52:28 +00:00
jmallett
0317135e4d Add a simple (to be expanded) library of functions for the regression tests,
to handle the ones which output to stdout and have output in regress.$test.out,
etc.  More freeform macros should and will be written, but these are the most
prominent and most straightforward sort of tests we have around, so it makes
sense to try to accomodate them.
2002-06-24 13:51:30 +00:00
jmallett
ed011dddc1 Grrr, make the test for embedded variables in the left-hand-side actually do
the right thing in every case.  Yuck.
2002-06-20 03:08:20 +00:00
jmallett
0aad4a7f96 Add a test for what was fixed in revision 1.27 and 1.28 of make(1)'s var.c,
expansion of embedded variables in the left-hand-side of an assignment
expression, using the simplest case - hiding recursion using nil-expanded
variables.
2002-06-19 18:57:04 +00:00
jmallett
92c9b7b198 Add the m4(1) regression test. 2002-06-07 05:32:00 +00:00
jmallett
a3f088af5b Add a regression test for m4(1).
This checks the behaviour of changecom() in both GNU and BSD modes of our m4.
2002-06-07 05:31:32 +00:00
jmallett
a71f688bc0 Regenerate with new output grouping in uuencode -m. 2002-05-17 12:27:31 +00:00
jmallett
62cedbf5fc Add a regression test for bin/5297, regarding sysv substitution with a nil
left-hand-side.
2002-05-05 19:02:30 +00:00
jmallett
e13651801a Add a test for the -R option. 2002-05-03 18:44:43 +00:00
jmallett
7b25b4fef0 Regenerate -I output since an argument bogon in the -I code was fixed, among
other things.
2002-05-03 14:31:28 +00:00
jmallett
8dbee4c20b Redirect stdin from the input file, rather than passing the input file to
uuencode(1), and set a umask, so that the mode in the header is predictable.

If it varies, then the test is right to fail.

Remove the note about this test falsely failing, with that in mind.
2002-04-27 03:11:33 +00:00
jmallett
300c1a11c0 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.
2002-04-27 02:26:23 +00:00
jmallett
3881ce8d9c 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.
2002-04-21 01:27:05 +00:00
jmallett
2ef068fe8d 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.
2002-04-21 01:04:03 +00:00