diff options
Diffstat (limited to 'tests/scripts/options/dash-C')
-rw-r--r-- | tests/scripts/options/dash-C | 60 |
1 files changed, 42 insertions, 18 deletions
diff --git a/tests/scripts/options/dash-C b/tests/scripts/options/dash-C index f31238f..5864ffd 100644 --- a/tests/scripts/options/dash-C +++ b/tests/scripts/options/dash-C @@ -1,32 +1,56 @@ -$description = "The following test creates a makefile to test the -C dir \n" - ."option in make. This option tells make to change to \n" - ."directory dir before reading the makefile."; +# -*-perl-*- -$details = "This test is similar to the clean test except that this test\n" - ."creates the file to delete in the work directory instead of\n" - ."the current directory. Make is called from another directory\n" - ."using the -C workdir option so that it can both find the \n" - ."makefile and the file to delete in the work directory. "; +$description = "Test the -C option to GNU make."; -$example = $workdir . $pathsep . "EXAMPLE_FILE"; +$details = "\ +This test is similar to the clean test except that this test creates the file +to delete in the work directory instead of the current directory. Make is +called from another directory using the -C workdir option so that it can both +find the makefile and the file to delete in the work directory."; + +$example = $workdir . $pathsep . "EXAMPLE"; open(MAKEFILE,"> $makefile"); +print MAKEFILE <<EOF; +all: ; \@echo This makefile did not clean the dir ... good +clean: ; $delete_command EXAMPLE\$(ext) +EOF +close(MAKEFILE); -# The Contents of the MAKEFILE ... +# TEST #1 +# ------- +&touch($example); -print MAKEFILE "all: \n"; -print MAKEFILE "\t\@echo This makefile did not clean the dir ... good\n"; -print MAKEFILE "clean: \n"; -print MAKEFILE "\t$delete_command EXAMPLE_FILE\n"; +&run_make_with_options("${testname}.mk", + "-C $workdir clean", + &get_logfile); -# END of Contents of MAKEFILE +chdir $workdir; +$wpath = &get_this_pwd; +chdir $pwd; -close(MAKEFILE); +if (-f $example) { + $test_passed = 0; +} + +# Create the answer to what should be produced by this Makefile +$answer = "$make_name: Entering directory `$wpath'\n" + . "$delete_command EXAMPLE\n" + . "$make_name: Leaving directory `$wpath'\n"; + +&compare_output($answer,&get_logfile(1)); + + +# TEST #2 +# ------- +# Do it again with trailing "/"; this should work the same + +$example .= "slash"; &touch($example); &run_make_with_options("${testname}.mk", - "-C $workdir clean", + "-C $workdir/ clean ext=slash", &get_logfile); chdir $workdir; @@ -39,7 +63,7 @@ if (-f $example) { # Create the answer to what should be produced by this Makefile $answer = "$make_name: Entering directory `$wpath'\n" - . "$delete_command EXAMPLE_FILE\n" + . "$delete_command EXAMPLEslash\n" . "$make_name: Leaving directory `$wpath'\n"; &compare_output($answer,&get_logfile(1)); |