]> ruderich.org/simon Gitweb - config/dotfiles.git/commitdiff
lib.sh: Add perl support to generate().
authorSimon Ruderich <simon@ruderich.org>
Sun, 26 Jul 2009 22:12:54 +0000 (00:12 +0200)
committerSimon Ruderich <simon@ruderich.org>
Sun, 26 Jul 2009 22:12:54 +0000 (00:12 +0200)
Also add test for this.

lib.sh
tests/lib.sh.test
tests/lib.sh.test.out

diff --git a/lib.sh b/lib.sh
index 799560cbf72f68e4f126ea8b1b285893f3586643..9d79b65b1d39524ec3a2b84f05d13cb002fd4f5b 100644 (file)
--- a/lib.sh
+++ b/lib.sh
@@ -99,9 +99,10 @@ warning() {
 # The following commands are possible; the file extension for the source file
 # in brackets.
 #
-# - m4  (.m4): pipe $2.m4 through m4 then write it to $2
-# - awk (.in): pipe $2.in through awk then write it to $2
-# - cat ($3):  copy $2$3 to $2
+# - m4   (.m4): pipe $2.m4 through m4 then write it to $2
+# - awk  (.in): pipe $2.in through awk then write it to $2
+# - perl (.in): pipe $2.in through perl then write it to $2
+# - cat  ($3):  copy $2$3 to $2
 generate() {
     # Get command and target file.
     command="$1"
@@ -114,7 +115,7 @@ generate() {
     # extension.
     if [ x"$command" = xm4 ]; then
         extension=.m4
-    elif [ x"$command" = xawk ]; then
+    elif [ x"$command" = xawk -o x"$command" = xperl ]; then
         extension=.in
     elif [ x"$command" = xcat ]; then
         extension="$1" # is $3 in reality, $1 because of shifting
index d3620cc14e6bc08424f783de91dded7d5fa6bc04..32bbd70c3d38f32c15bcfb4b693c1dfcbcaf4f4c 100644 (file)
@@ -63,6 +63,14 @@ generate awk tmp/test-awk '{ print $1 }'
 # Remove the line with the current date as it changes every time.
 cat tmp/test-awk | grep -v "It was generated from tmp/test-awk.in"
 
+# Test generate() using perl.
+echo "Simple test fiel for generate() using perl.
+first second
+" > tmp/test-perl.in
+generate perl tmp/test-perl -p -e 's/first/best/'
+# Remove the line with the current date as it changes every time.
+cat tmp/test-perl | grep -v "It was generated from tmp/test-perl.in"
+
 # Test generate() using cat.
 echo "Simple test fiel for generate() using cat (simple copy).
 
index 725a69a56c872cd1d2b71d3da65362dd9499ed00..9258e0fd23859aede325d35d2700152ecf7320af 100644 (file)
@@ -39,6 +39,15 @@ awk: generating 'tmp/test-awk' from 'tmp/test-awk.in' with options '{ print $1 }
 Simple
 first
 
+perl: generating 'tmp/test-perl' from 'tmp/test-perl.in' with options '-p -e s/first/best/'
+###################################
+# WARNING! DO NOT EDIT THIS FILE! #
+###################################
+
+
+Simple test fiel for generate() using perl.
+best second
+
 cat: generating 'tmp/test-cat' from 'tmp/test-cat.real'
 ###################################
 # WARNING! DO NOT EDIT THIS FILE! #