2000-02-04  Paul D. Smith  <psmith@gnu.org>

	* scripts/features/patspecific_vars: Add a test for PR/1407.

2000-02-02  Paul D. Smith  <psmith@gnu.org>

	* run_make_tests.pl (set_more_defaults): Hard-code the LANG to C
	to make sure porting order, etc. is predictable.
	Reported by Andreas Jaeger <aj@suse.de>.

	* run_make_tests.pl (set_more_defaults): Set the $wtime variable
	depending on the OS.  Eli Zaretskii <eliz@is.elta.co.il> reports
	this seems to need to be *4* on DOS/Windows, not just 2.  Keep it
	1 for other systems.
	* scripts/features/vpathplus (touchfiles): Use the $wtime value
	instead of hardcoding 2.
	* scripts/targets/SECONDARY: Ditto.
	* scripts/targets/INTERMEDIATE: Ditto.

2000-01-23  Paul D. Smith  <psmith@gnu.org>

	* scripts/features/include: Remove a check; the fix caused more
	problems than the error, so I removed it and removed the test for
	it.

2000-01-11  Paul D. Smith  <psmith@gnu.org>

	* scripts/functions/call: Add a test for PR/1517 and PR/1527: make
	sure $(call ...) doesn't eval its arguments and that you can
	invoke foreach from it without infinitely looping.

1999-12-15  Paul D. Smith  <psmith@gnu.org>

	* scripts/targets/INTERMEDIATE: Add a test for PR/1423: make sure
	.INTERMEDIATE settings on files don't disable them as implicit
	intermediate possibilities.

1999-12-01  Paul D. Smith  <psmith@gnu.org>

	* scripts/features/double_colon: Add a test for PR/1476: Try
	double-colon rules as non-goal targets and during parallel builds
	to make sure they're handled serially.

1999-11-17  Paul D. Smith  <psmith@gnu.org>

	* scripts/functions/if: Add a test for PR/1429: put some text
	after an if-statement to make sure it works.

	* scripts/features/targetvars: Add a test for PR/1380: handling +=
	in target-specific variable definitions correctly.

1999-10-15  Paul D. Smith  <psmith@gnu.org>

	* scripts/variables/MAKEFILES: This was really broken: it didn't
	test anything at all, really.  Rewrote it, plus added a test for
	PR/1394.

1999-10-13  Paul D. Smith  <psmith@gnu.org>

	* scripts/options/dash-n: Add a test for PR/1379: "-n doesn't
	behave properly when used with recursive targets".

1999-10-08  Paul D. Smith  <psmith@gnu.org>

	* scripts/features/targetvars: Add a check for PR/1378:
	"Target-specific vars don't inherit correctly"

1999-09-29  Paul D. Smith  <psmith@gnu.org>

	* test_driver.pl (get_osname): Change $fancy_file_names to
	$short_filenames and reverse the logic.
	(run_each_test): Change test of non-existent $port_host to use
	$short_filenames--problem reported by Eli Zaretskii.

1999-09-23  Paul D. Smith  <psmith@gnu.org>

	* scripts/features/parallelism: Add a check to ensure that the
	jobserver works when we re-invoke.  Also cleaned up the tests a
	little, reducing the number of rules we use so the test won't need
	as many "sleep" commands.

1999-09-16  Paul D. Smith  <psmith@gnu.org>

	* scripts/features/reinvoke: Remove invocations of "touch" in
	makefiles.  See the comments on the touch function rewrite below.
	Note that UNIX touch behaves the same way if the file already
	exists: it sets the time to the _local_ time.  We don't want
	this.  This is probably a good tip for makefile writers in
	general, actually... where practical.
	* scripts/options/dash-l: Ditto.
	* scripts/options/dash-n: Ditto.

	* test_driver.pl (run_each_test): In retrospect, I don't like the
	.lN/.bN/.dN postfix required by DOS.  So, for non-DOS systems I
	changed it back to use .log, .base, and .diff.

	* run_make_tests.pl (set_more_defaults): Move the check for the
	make pathname to here from set_defaults (that's too early since it
	happens before the command line processing).
	Create a new variable $port_type, calculated from $osname, to
	specify what kind of system we're running on.  We should integrate
	the VOS stuff here, too.
	(valid_option): Comment out the workdir/-work stuff so people
	won't be fooled into thinking it works... someone needs to fix
	this, though!

	* scripts/functions/origin: Use $port_type instead of $osname.
	* scripts/functions/foreach: Ditto.
	* scripts/features/default_names: Ditto.

1999-09-15  Paul D. Smith  <psmith@gnu.org>

	* test_driver.pl (touch): Rewrite this function.  Previously it
	used to use utime() to hard-set the time based on the current
	local clock, or, if the file didn't exist, it merely created it.
	This mirrors exactly what real UNIX touch does, but it fails badly
	on networked filesystems where the FS server clock is skewed from
	the local clock: normally modifying a file causes it to get a mod
	time based on the _server's_ clock.  Hard-setting it based on the
	_local_ clock causes gratuitous errors and makes the tests
	unreliable except on local filesystems.  The new function will
	simply modify the file, allowing the filesystem to set the mod
	time as it sees fit.

	* scripts/features/parallelism: The second test output could
	change depending on how fast some scripts completed; use "sleep"
	to force the order we want.

	* test_driver.pl (toplevel): A bug in Perl 5.000 to Perl 5.004
	means that "%ENV = ();" doesn't do the right thing.  This worked
	in Perl 4 and was fixed in Perl 5.004_01, but use a loop to delete
	the environment rather than require specific versions.

	* run_make_tests.pl (set_more_defaults): Don't use Perl 5 s///
	modifier "s", so the tests will run with Perl 4.
	(set_more_defaults): Set $pure_log to empty if there's no -logfile
	option in PURIFYOPTIONS.
	(setup_for_test): Don't remove any logs unless $pure_log is set.

1999-09-15  Eli Zaretskii  <eliz@is.elta.co.il>

	* scripts/features/reinvoke: Put the SHELL definition in the right
	test makefile.

1999-09-15  Paul D. Smith  <psmith@gnu.org>

	ChangeLog file for the test suite created.
