make/tests/scripts/features/vpath2
Paul Smith 414af96a50 Refresh the test suite framework implementation.
Go through both run_make_tests.pl and test_driver.pl and slightly
modernize the Perl and clean up indentation etc.  Fix a number of
warnings in the test scripts detected by running with -w.

* tests/test_driver.pl: Move make error string detection out of the
base test driver.
(run_all_tests): Ensure that we always look for tests in the cwd.
* tests/run_make_tests.pl: Use File::Spec for path manipulations.
Correctly use setlocale() when detecting error strings.
Get configuration from the config-flags.pm file not config.status.
* tests/scripts/features/archives: Use new $cwddir variable.
* tests/scripts/features/reinvoke: Add missing semicolon.
* tests/scripts/features/vpath2: Avoid non-existent variable.
* tests/scripts/functions/foreach: Escape variables.
* tests/scripts/misc/bs-nl: Remove non-existing \v escape sequence.
* tests/scripts/misc/general4: Use handy create_file().
* tests/scripts/options/dash-C: Use Cwd/$cwddir.
* tests/scripts/options/dash-I: Use subst_make_string() and #PWD#.
* tests/scripts/options/symlinks: Use File::Spec.
* tests/scripts/targets/DEFAULT: Use create_file and run_make_test.
* tests/scripts/variables/CURDIR: Use run_make_test.
* tests/scripts/variables/automatic: Remove extraneous "\".
* tests/scripts/vms/library: Remove extra "my" and extraneous "\".
2019-09-16 08:25:33 -04:00

45 lines
1.2 KiB
Text

$description = "This is part 2 in a series to test the vpath directive\n"
."It tests the three forms of the directive:\n"
." vpath pattern directive\n"
." vpath pattern (clears path associated with pattern)\n"
." vpath (clears all paths specified with vpath)\n";
$details = "This test simply adds many search paths using various vpath\n"
."directive forms and clears them afterwards. It has a simple\n"
."rule to print a message at the end to confirm that the makefile\n"
."ran with no errors.\n";
open(MAKEFILE,"> $makefile");
# The Contents of the MAKEFILE ...
print MAKEFILE "VPATH = $workdir:$scriptdir\n";
print MAKEFILE "vpath %.c foo\n";
print MAKEFILE "vpath %.c $workdir\n";
print MAKEFILE "vpath %.c $scriptdir\n";
print MAKEFILE "vpath %.h $workdir\n";
print MAKEFILE "vpath %.c\n";
print MAKEFILE "vpath\n";
print MAKEFILE "all:\n";
print MAKEFILE "\t\@echo ALL IS WELL\n";
# END of Contents of MAKEFILE
close(MAKEFILE);
&run_make_with_options($makefile,"",&get_logfile);
# Create the answer to what should be produced by this Makefile
$answer = "ALL IS WELL\n";
&compare_output($answer,&get_logfile(1));
1;