Commit Graph

37 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
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
ru
98df36967c Removed extraneous parentheses. 2004-03-01 17:47:38 +00:00
ache
f9390aef0d Add getopt_long.c if ${BOOTSTRAPPING} < 502104 2004-02-28 07:25:48 +00:00
ru
2630fc0e1e Unbreak the upgrade path from 4.9 after removal of GNU getopt and
<gnuregex.h>.
2004-02-20 11:55:14 +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
ru
4360edf5db Fixed broken arithmetic expression parser.
Reminded by:	bde
In memory of:	alane
2003-07-04 13:33:48 +00:00
ru
afb5bd3a4b A version of <sys/endian.h> in RELENG_4 doesn't have 64-bit functions.
Spotted by:	simokawa
2003-04-15 06:51:04 +00:00
ru
e3d7641b70 Make sure legacy stuff comes last. Some tools that use
legacy stuff (binutils) depend on this order.

For this to work, provide (and use) specialized versions
of bsd.prog.mk and bsd.lib.mk that include the standard
versions first, then augment CFLAGS, DPADD, LDADD, and
LDFLAGS as necessary, with the legacy stuff.

Tested on:	4.0-RELEASE
2003-04-12 15:07:46 +00:00
ru
18679452c0 libc_gen/basename.c depends on include/libgen.h. 2003-04-11 17:58:17 +00:00
imp
a3dc544bfe -legacy and /.../legacy/... looks better than build or bootstrap in
the logs, so use that instead.

Submitted by: obrien.
2003-04-06 21:46:44 +00:00
imp
070e2898a0 We can't use ${WORLDTMP}/usr/{include,lib} for the compat layer. This
is because we populate these directories later, and a subsequent
-DNOCLEAN build may fail.  So, we put them in
${WORLDTMP}/build/usr/{include,lib} instead and adjust Makefile.boot.

Again, this works on -stable and -current, but might break older
versions.

Submitted by: ru@
2003-04-06 03:50:28 +00:00
imp
b7e83c7b41 Don't need the gccism include_next since we won't create this file
when a real sys/endian.h exists.

Submitted by: ru@
2003-04-06 03:30:44 +00:00
imp
b0693a4cbc Migrate to a new way of dealing with building from old revisions of
FreeBSD.  This method attempts to centralize all the necessary hacks
or work arounds in one of two places in the tree (src/Makefile.inc1
and src/tools/build).  We build a small compatibility library
(libbuild.a) as well as selectively installing necessary include
files.  We then include this directory when building host binaries.

This removes all the past release compatibilty hacks from various
places in the tree.  We still build on tip of stable and current.  I
will work with those that want to support more, although I anticipate
it will just work.

Many thanks to ru@, obrien@ and jhb@ for providing valuable input at
various stage of implementation, as well as for working together to
positively effect a change for the better.
2003-04-05 20:30:30 +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
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
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
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
a1b2db8692 Check to see if make(1)'s handling of doubly-defined targets is busted or
not.  A lot relies on this.
2002-04-21 00:41:37 +00:00
jmallett
723f201ed8 Add a test of variable evaluation and substitution for make(1), as a start
of tests for it.
2002-04-20 20:57:00 +00:00