X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=tests%2Flib.sh.test;h=5db26dcf3eae59f4b47ce217a9c19b2e02ae427e;hb=5b59dfd4b86ca165c34815c45dbed6eb45928038;hp=32bbd70c3d38f32c15bcfb4b693c1dfcbcaf4f4c;hpb=a3e64d7edcef3412cc64056510aacb046a2cc4a7;p=config%2Fdotfiles.git diff --git a/tests/lib.sh.test b/tests/lib.sh.test index 32bbd70..5db26dc 100644 --- a/tests/lib.sh.test +++ b/tests/lib.sh.test @@ -1,23 +1,70 @@ # Tests for lib.sh. +# Copyright (C) 2009-2013 Simon Ruderich +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + . ../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