X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=tests%2Flib.sh.test;h=3568c47de354f64e4dbfebd24fcf7ead4ee1ecb5;hb=3c9f2ee5ea8c7fe57864cad38f4f6188c569fa5d;hp=911b4db14a0ec956481c93e3d3dba42cc3730fd2;hpb=f30437901deddf4e539294eaddcd2f19af1d778b;p=config%2Fdotfiles.git diff --git a/tests/lib.sh.test b/tests/lib.sh.test index 911b4db..3568c47 100644 --- a/tests/lib.sh.test +++ b/tests/lib.sh.test @@ -3,55 +3,113 @@ . ../lib.sh -# Tests for installed() with hopefully proper exit codes (1 if the program was -# not found). +# which with proper exit codes and output to stdout. +which() { + if [ $1 = ls ]; then + echo /bin/ls + else + echo no doesnt-exist in /usr/bin /bin /usr/sbin /sbin + return 1 + fi +} +echo stdout which installed ls && echo ls installed installed doesnt-exist && echo doesnt-exist installed -# Simulate BSD `which` like on Mac OS X which doesn't use exit codes. -function which() { - echo Mac OS X which for $1 >&2 +# which with proper exit codes and output to stderr in case of an error. +which() { + if [ $1 = ls ]; then + echo /bin/ls + else + echo no doesnt-exist in /usr/bin /bin /usr/sbin /sbin >&2 + return 1 + fi +} +echo stderr which +installed ls && echo ls installed +installed doesnt-exist && echo doesnt-exist installed + +# which with no proper exit codes and output to stdout in case of an error. +which() { if [ $1 = ls ]; then echo /bin/ls else echo no doesnt-exist in /usr/bin /bin /usr/sbin /sbin fi } -# Tests for installed() without exit codes. +echo stupid which +installed ls && echo ls installed +installed doesnt-exist && echo doesnt-exist installed + +# which with proper exit codes and no output in case of an error. +which() { + if [ $1 = ls ]; then + echo /bin/ls + else + return 1 + fi +} +echo different which installed ls && echo ls installed installed doesnt-exist && echo doesnt-exist installed -# Tests for m4(). -echo "Simple test file for m4. +# Tests for generate(). +echo "Simple test file for generate() using m4. +include(../lib.m4)dnl IF(TEST,m4) m4 FI IF(TEST,n4) n4 FI" > tmp/test.m4 -m4 tmp/test -DTEST=m4 +generate m4 tmp/test -DTEST=m4 # Remove the line with the current date as it changes every time. cat tmp/test | grep -v "It was generated from tmp/test.m4" -# Test multiple arguments to m4(). -echo "Test with multiple arguments passed to m4. +# Test multiple arguments to generate(). +echo "Test with multiple arguments passed to generate(). first: FIRST second: SECOND " > tmp/test-multiple.m4 -m4 tmp/test-multiple -DFIRST=first -DSECOND=second +generate m4 tmp/test-multiple -DFIRST=first -DSECOND=second # Remove the line with the current date as it changes every time. cat tmp/test-multiple | grep -v "It was generated from tmp/test-multiple.m4" -# Test multiple arguments with spaces to m4(). -echo "Test with multiple arguments with spaces passed to m4. +# Test multiple arguments with spaces to generate(). +echo "Test with multiple arguments with spaces passed to generate(). first: FIRST second: SECOND " > tmp/test-multiple-spaces.m4 -m4 tmp/test-multiple-spaces -DFIRST="first with spaces" \ - -DSECOND="second with spaces" +generate m4 tmp/test-multiple-spaces -DFIRST="first with spaces" \ + -DSECOND="second with spaces" # Remove the line with the current date as it changes every time. cat tmp/test-multiple-spaces \ | grep -v "It was generated from tmp/test-multiple-spaces.m4" +# Test generate() using awk. +echo "Simple test fiel for generate() using awk. +first second +" > tmp/test-awk.in +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). + +... +" > tmp/test-cat.real +generate cat tmp/test-cat .real +# Remove the line with the current date as it changes every time. +cat tmp/test-cat | grep -v "It was generated from tmp/test-cat.real" + # vim: ft=sh