| # -*-perl-*- |
| |
| $description = "The following test creates a makefile to test wildcard\n" |
| ."expansions and the ability to put a command on the same\n" |
| ."line as the target name separated by a semi-colon."; |
| |
| $details = "This test creates 4 files by the names of 1.example, \n" |
| ."two.example and 3.example. We execute three tests. The first\n" |
| ."executes the print1 target which tests the '*' wildcard by \n" |
| ."echoing all filenames by the name of '*.example'. The second\n" |
| ."test echo's all files which match '?.example' and \n" |
| ."[a-z0-9].example. Lastly we clean up all of the files using\n" |
| ."the '*' wildcard as in the first test"; |
| |
| if ($vos) |
| { |
| $delete_command = "delete_file -no_ask"; |
| } |
| else |
| { |
| $delete_command = "rm"; |
| } |
| |
| |
| open(MAKEFILE,"> $makefile"); |
| |
| # The Contents of the MAKEFILE ... |
| |
| print MAKEFILE <<EOM; |
| print1: ;\@echo \$(wildcard example.*) |
| print2: |
| \t\@echo \$(wildcard example.?) |
| \t\@echo \$(wildcard example.[a-z0-9]) |
| \t\@echo \$(wildcard example.[!A-Za-z_\\!]) |
| clean: |
| \t$delete_command \$(wildcard example.*) |
| EOM |
| |
| # END of Contents of MAKEFILE |
| |
| close(MAKEFILE); |
| |
| &touch("example.1"); |
| &touch("example.two"); |
| &touch("example.3"); |
| &touch("example.for"); |
| &touch("example._"); |
| |
| # TEST #1 |
| # ------- |
| |
| $answer = "example.1 example.3 example._ example.for example.two\n"; |
| |
| &run_make_with_options($makefile,"print1",&get_logfile); |
| |
| &compare_output($answer,&get_logfile(1)); |
| |
| |
| # TEST #2 |
| # ------- |
| |
| $answer = "example.1 example.3 example._\n" |
| ."example.1 example.3\n" |
| ."example.1 example.3\n"; |
| |
| &run_make_with_options($makefile,"print2",&get_logfile); |
| |
| &compare_output($answer,&get_logfile(1)); |
| |
| |
| # TEST #3 |
| # ------- |
| |
| $answer = "$delete_command example.1 example.3 example._ example.for example.two"; |
| if ($vos) |
| { |
| $answer .= " \n"; |
| } |
| else |
| { |
| $answer .= "\n"; |
| } |
| |
| &run_make_with_options($makefile,"clean",&get_logfile); |
| |
| &compare_output($answer,&get_logfile(1)); |
| |
| if ((-f "example.1")||(-f "example.two")||(-f "example.3")||(-f "example.for")) |
| { |
| $test_passed = 0; |
| } |
| |
| |
| 1; |
| |
| |
| |
| |
| |
| |
| |
| |
| |