| # -*-Perl-*- | |
| $description = "\ | |
| The following test creates a makefile to test the warning function."; | |
| $details = ""; | |
| open(MAKEFILE,"> $makefile"); | |
| print MAKEFILE <<'EOF'; | |
| ifdef WARNING1 | |
| $(warning warning is $(WARNING1)) | |
| endif | |
| ifdef WARNING2 | |
| $(warning warning is $(WARNING2)) | |
| endif | |
| ifdef WARNING3 | |
| all: some; @echo hi $(warning warning is $(WARNING3)) | |
| endif | |
| ifdef WARNING4 | |
| all: some; @echo hi | |
| @echo there $(warning warning is $(WARNING4)) | |
| endif | |
| some: ; @echo Some stuff | |
| EOF | |
| close(MAKEFILE); | |
| # Test #1 | |
| &run_make_with_options($makefile, "WARNING1=yes", &get_logfile, 0); | |
| $answer = "$makefile:2: warning is yes\nSome stuff\n"; | |
| &compare_output($answer,&get_logfile(1)); | |
| # Test #2 | |
| &run_make_with_options($makefile, "WARNING2=no", &get_logfile, 0); | |
| $answer = "$makefile:6: warning is no\nSome stuff\n"; | |
| &compare_output($answer,&get_logfile(1)); | |
| # Test #3 | |
| &run_make_with_options($makefile, "WARNING3=maybe", &get_logfile, 0); | |
| $answer = "Some stuff\n$makefile:10: warning is maybe\nhi\n"; | |
| &compare_output($answer,&get_logfile(1)); | |
| # Test #4 | |
| &run_make_with_options($makefile, "WARNING4=definitely", &get_logfile, 0); | |
| $answer = "Some stuff\n$makefile:15: warning is definitely\nhi\nthere\n"; | |
| &compare_output($answer,&get_logfile(1)); | |
| # Test linenumber offset | |
| run_make_test(q! | |
| all: one two | |
| $(warning in $@ line 3) | |
| @true | |
| $(warning in $@ line 5) | |
| one two: | |
| $(warning in $@ line 8) | |
| @true | |
| $(warning in $@ line 10) | |
| !, | |
| '', "#MAKEFILE#:8: in one line 8 | |
| #MAKEFILE#:10: in one line 10 | |
| #MAKEFILE#:8: in two line 8 | |
| #MAKEFILE#:10: in two line 10 | |
| #MAKEFILE#:3: in all line 3 | |
| #MAKEFILE#:5: in all line 5\n"); | |
| # This tells the test driver that the perl test script executed properly. | |
| 1; | |
| ### Local Variables: | |
| ### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) | |
| ### End: |