123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- $description = "The following test creates a makefile to test command \n"
- ."echoing. It tests that when a command line starts with \n"
- ."a '\@', the echoing of that line is suppressed. It also \n"
- ."tests the -n option which tells make to ONLY echo the \n"
- ."commands and no execution happens. In this case, even \n"
- ."the commands with '\@' are printed. Lastly, it tests the \n"
- ."-s flag which tells make to prevent all echoing, as if \n"
- ."all commands started with a '\@'.";
- $details = "This test is similar to the 'clean' test except that a '\@' has\n"
- ."been placed in front of the delete command line. Four tests \n"
- ."are run here. First, make is run normally and the first echo\n"
- ."command should be executed. In this case there is no '\@' so \n"
- ."we should expect make to display the command AND display the \n"
- ."echoed message. Secondly, make is run with the clean target, \n"
- ."but since there is a '\@' at the beginning of the command, we\n"
- ."expect no output; just the deletion of a file which we check \n"
- ."for. Third, we give the clean target again except this time\n"
- ."we give make the -n option. We now expect the command to be \n"
- ."displayed but not to be executed. In this case we need only \n"
- ."to check the output since an error message would be displayed\n"
- ."if it actually tried to run the delete command again and the \n"
- ."file didn't exist. Lastly, we run the first test again with \n"
- ."the -s option and check that make did not echo the echo \n"
- ."command before printing the message.";
- $example = "EXAMPLE_FILE";
- open(MAKEFILE,"> $makefile");
- # The Contents of the MAKEFILE ...
- print MAKEFILE "all: \n";
- print MAKEFILE "\techo This makefile did not clean the dir... good\n";
- print MAKEFILE "clean: \n";
- print MAKEFILE "\t\@$delete_command $example\n";
- # END of Contents of MAKEFILE
- close(MAKEFILE);
- &touch($example);
- # TEST #1
- # -------
- &run_make_with_options($makefile,"",&get_logfile,0);
- $answer = "echo This makefile did not clean the dir... good\n"
- ."This makefile did not clean the dir... good\n";
- &compare_output($answer,&get_logfile(1));
- # TEST #2
- # -------
- &run_make_with_options($makefile,"clean",&get_logfile,0);
- $answer = "";
- &compare_output($answer,&get_logfile(1));
- if (-f $example)
- {
- $test_passed = 0;
- }
- # TEST #3
- # -------
- &run_make_with_options($makefile,"-n clean",&get_logfile,0);
- $answer = "$delete_command $example\n";
- &compare_output($answer,&get_logfile(1));
- # TEST #4
- # -------
- &run_make_with_options($makefile,"-s",&get_logfile,0);
- $answer = "This makefile did not clean the dir... good\n";
- &compare_output($answer,&get_logfile(1));
- 1;
|