diff options
| author | Igor Pashev <pashev.igor@gmail.com> | 2012-08-26 19:24:46 +0400 | 
|---|---|---|
| committer | Igor Pashev <pashev.igor@gmail.com> | 2012-08-26 19:24:46 +0400 | 
| commit | e46c9ea201b4bad8f4c6d19ee6dfb3537bc9facd (patch) | |
| tree | 26ae9736985be2ef61032e7808b9fb0e2155c71f /tests/scripts/features/echoing | |
| download | make.old-upstream.tar.gz | |
Imported GNU Make 3.81upstream/3.82upstream
Diffstat (limited to 'tests/scripts/features/echoing')
| -rw-r--r-- | tests/scripts/features/echoing | 64 | 
1 files changed, 64 insertions, 0 deletions
| diff --git a/tests/scripts/features/echoing b/tests/scripts/features/echoing new file mode 100644 index 0000000..40debf5 --- /dev/null +++ b/tests/scripts/features/echoing @@ -0,0 +1,64 @@ +#                                                                    -*-perl-*- +$description = "The following test creates a makefile to test command +echoing.  It tests that when a command line starts with +a '\@', the echoing of that line is suppressed.  It also +tests the -n option which tells make to ONLY echo the +commands and no execution happens.  In this case, even +the commands with '\@' are printed. Lastly, it tests the +-s flag which tells make to prevent all echoing, as if +all commands started with a '\@'."; + +$details = "This test is similar to the 'clean' test except that a '\@' has +been placed in front of the delete command line.  Four tests +are run here.  First, make is run normally and the first echo +command should be executed.  In this case there is no '\@' so +we should expect make to display the command AND display the +echoed message.  Secondly, make is run with the clean target, +but since there is a '\@' at the beginning of the command, we +expect no output; just the deletion of a file which we check +for.  Third, we give the clean target again except this time +we give make the -n option.  We now expect the command to be +displayed but not to be executed.  In this case we need only +to check the output since an error message would be displayed +if it actually tried to run the delete command again and the +file didn't exist. Lastly, we run the first test again with +the -s option and check that make did not echo the echo +command before printing the message.\n"; + +$example = "EXAMPLE_FILE"; + +touch($example); + +# TEST #1 +# ------- + +run_make_test(" +all: +\techo This makefile did not clean the dir... good +clean: +\t\@$delete_command $example\n", +              '', 'echo This makefile did not clean the dir... good +This makefile did not clean the dir... good'); + +# TEST #2 +# ------- + +run_make_test(undef, 'clean', ''); +if (-f $example) { +  $test_passed = 0; +  unlink($example); +} + +# TEST #3 +# ------- + +run_make_test(undef, '-n clean', "$delete_command $example\n"); + + +# TEST #4 +# ------- + +run_make_test(undef, '-s', "This makefile did not clean the dir... good\n"); + + +1; | 
