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