Use case statement to check for proper result from "mhparam sbackup".
authorDavid Levine <levinedl@acm.org>
Thu, 26 Apr 2012 01:32:10 +0000 (20:32 -0500)
committerDavid Levine <levinedl@acm.org>
Thu, 26 Apr 2012 02:21:09 +0000 (21:21 -0500)
Also replaced a couple of other uses of grep with case statements.
(cherry picked from commit 2f4fc229fd6578389b0435b044dc559d9d9bc292)

test/mhparam/test-mhparam
test/mhpath/test-mhpath

index f848277..573020e 100755 (executable)
@@ -37,13 +37,14 @@ mhparam -help >$actual 2>&1
 set -e
 check $expected $actual
 
-# check -version
-if mhparam -v | grep '^mhparam --' >/dev/null; then
-  :
-else
-  echo "$0: mhparam -v generated unexpected output" 1>&2
-  failed=`expr ${failed:-0} + 1`
-fi
+# check -version, which returns non-zero exit status
+set +e
+case `mhparam -v` in
+  mhparam\ --*) ;;
+  *           ) echo "$0: mhparam -v generated unexpected output" 1>&2
+                failed=`expr ${failed:-0} + 1`;;
+esac
+set -e
 
 # check unknown option
 run_test 'mhparam -nonexistent' 'mhparam: -nonexistent unknown'
@@ -135,13 +136,12 @@ check $expected $actual
 #### This exits with non-zero status, so let run_test squash that:
 run_test 'mhparam faceproc formatproc rmmproc' ''
 
-#### test sbackup separately because it's only passed as a -D compile option
-if mhparam sbackup | grep ',' >/dev/null; then
-  :
-else
-  echo mhparam sbackup failed
-  failed=`expr ${failed:-0} + 1`
-fi
+#### Test sbackup separately because it's only passed as a -D compile option.
+case `mhparam sbackup` in
+  ,|\#) ;;
+  *   ) echo mhparam sbackup failed
+        failed=`expr ${failed:-0} + 1` ;;
+esac
 
 # check -component
 run_test 'mhparam -component Path' "Path: $MH_TEST_DIR/Mail"
index 54a1a12..84f14e2 100755 (executable)
@@ -33,13 +33,14 @@ mhpath -help > $actual 2>&1
 set -e
 check $expected $actual
 
-# check -version
-if mhpath -v | grep '^mhpath --' > /dev/null; then
-  :
-else
-  echo "$0: mhpath -v generated unexpected output" 1>&2
-  failed=`expr ${failed:-0} + 1`
-fi
+# check -version, which returns non-zero exit status
+set +e
+case `mhpath -v` in
+  mhpath\ --*) ;;
+  *          ) echo "$0: mhpath -v generated unexpected output" 1>&2
+               failed=`expr ${failed:-0} + 1`;;
+esac
+set -e
 
 # check +
 run_test "mhpath +" "$MH_TEST_DIR/Mail"