summaryrefslogtreecommitdiff
path: root/tests/scripts/functions/filter-out
diff options
context:
space:
mode:
Diffstat (limited to 'tests/scripts/functions/filter-out')
-rw-r--r--tests/scripts/functions/filter-out35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/scripts/functions/filter-out b/tests/scripts/functions/filter-out
new file mode 100644
index 0000000..0559a8d
--- /dev/null
+++ b/tests/scripts/functions/filter-out
@@ -0,0 +1,35 @@
+$description = "The following test creates a makefile to test static \n"
+ ."pattern rules. Static pattern rules are rules which \n"
+ ."specify multiple targets and construct the dependency \n"
+ ."names for each target based on the target name. ";
+
+$details = "The makefile created in this test has three targets. The \n"
+ ."filter command is used to get those target names ending in \n"
+ .".o and statically creates a compile command with the target\n"
+ ."name and the target name with .c. It also does the same thing\n"
+ ."for another target filtered with .elc and creates a command\n"
+ ."to emacs a .el file";
+
+open(MAKEFILE,"> $makefile");
+
+# The Contents of the MAKEFILE ...
+
+print MAKEFILE "files := \$(filter-out %.o, foo.elc bar.o lose.o) \n"
+ ."all: \n"
+ ."\t\@echo \$(files) \n";
+
+# END of Contents of MAKEFILE
+
+close(MAKEFILE);
+
+&run_make_with_options($makefile,
+ "",
+ &get_logfile,
+ 0);
+
+# Create the answer to what should be produced by this Makefile
+$answer = "foo.elc\n";
+
+&compare_output($answer,&get_logfile(1));
+
+1;