Moved check() function from individual tests to common.sh.
authorDavid Levine <levinedl@acm.org>
Fri, 17 Feb 2012 04:02:21 +0000 (22:02 -0600)
committerDavid Levine <levinedl@acm.org>
Fri, 17 Feb 2012 04:02:21 +0000 (22:02 -0600)
test/bad-input/test-header
test/common.sh.in
test/mhbuild/test-forw
test/new/test-basic

index 71a63a9..98e8c7a 100755 (executable)
@@ -14,15 +14,6 @@ fi
 
 setup_test
 
-# TODO: Move to a common file tests can source; need more framework...
-failed=0
-check() {
-    diff -u $expected $actual
-    if [ $? -ne 0 ]; then
-        failed=$((failed + 1))
-    fi
-}
-
 expected=$MH_TEST_DIR/$$.expected
 actual=$MH_TEST_DIR/$$.actual
 
@@ -44,7 +35,7 @@ cat > $expected <<EOF
   11  12/18 foo@example.edu    test<<This is a multi-part message in MIME forma
 EOF
 scan $msgnum > $actual 2>&1
-check
+check $expected $actual
 
 # check show (mhl)
 cat > $expected <<EOF
@@ -62,7 +53,7 @@ This is a multi-part message in MIME format.
 I am a stupid spammer.
 EOF
 show $msgnum > $actual 2>&1
-check
+check $expected $actual
 
 # check mhshow
 cat > $expected <<EOF
@@ -79,6 +70,6 @@ This is a multi-part message in MIME format.
 I am a stupid spammer.
 EOF
 mhshow -nopause $msgnum > $actual 2>&1
-check
+check $expected $actual
 
 exit $failed
index 7596a48..0d7e858 100644 (file)
@@ -76,6 +76,14 @@ progress_done ()
   printf "100%%\n"
 }
 
+#### check() requires two arguments, each the name of a file to be
+#### diff'ed.
+#### If different, global variable "failed" is incremented.
+check() {
+    #### POSIX diff should support -c.
+    diff -c "$1" "$2"  ||  failed=`expr ${failed:-0} + 1`
+}
+
 setup_test ()
 {
   export MH=${MH_TEST_DIR}/Mail/.mh_profile
index e9a1b2f..5369f22 100755 (executable)
@@ -14,15 +14,6 @@ fi
 
 setup_test
 
-# TODO: Move to a common file tests can source; need more framework...
-failed=0
-check() {
-    diff -u $expected $actual
-    if [ $? -ne 0 ]; then
-        failed=$((failed + 1))
-    fi
-}
-
 # Make a draft file forwarding two messages.
 mkdraft() {
     cat > $draft <<EOF
@@ -81,7 +72,7 @@ EOF
 mkdraft
 mhbuild $draft
 mungedraft
-check
+check $expected $actual
 
 # check mhbuild -rfc934
 cat > $expected <<EOF
@@ -118,6 +109,6 @@ EOF
 mkdraft
 mhbuild -rfc934 $draft
 mungedraft
-check
+check $expected $actual
 
 exit $failed
index ca1a4cf..bbb9425 100755 (executable)
@@ -13,14 +13,6 @@ fi
 . "$MH_OBJ_DIR/test/common.sh"
 
 setup_test
-# TODO: Move to a common file tests can source; need more framework...
-failed=0
-check() {
-    diff -u $expected $actual
-    if [ $? -ne 0 ]; then
-        failed=$((failed + 1))
-    fi
-}
 
 folders=$MH_TEST_DIR/Mail/.folders
 
@@ -41,23 +33,23 @@ cat > $expected <<EOF
 new: must specify sequences or set Unseen-Sequence
 EOF
 new > $actual 2>&1
-check
+check $expected $actual
 
 # test with no desired messages
 cat > $expected <<EOF
  total      0.
 EOF
 new aseq > $actual 2>&1
-check
+check $expected $actual
 new -folders $folders aseq > $actual 2>&1
-check
+check $expected $actual
 
 # test fnext/fprev with no desired messages
 cat /dev/null > $expected
 fnext aseq > $actual 2>&1
-check
+check $expected $actual
 fprev aseq > $actual 2>&1
-check
+check $expected $actual
 
 # add 1 desired message in each folder
 echo 'aseq: 1' > $MH_TEST_DIR/Mail/inbox/.mh_sequences
@@ -72,7 +64,7 @@ inbox      1.* 1
  total      3.
 EOF
 new aseq > $actual 2>&1
-check
+check $expected $actual
 
 # test with .folders
 cat > $expected <<EOF
@@ -81,7 +73,7 @@ foo2       1.  1
  total      2.
 EOF
 new -folders $folders aseq > $actual 2>&1
-check
+check $expected $actual
 
 # add 2 desired messages to another sequence in each folder
 echo 'bseq: 3-4' >> $MH_TEST_DIR/Mail/inbox/.mh_sequences
@@ -96,12 +88,12 @@ inbox      3.* 1 3-4
  total      9.
 EOF
 new aseq bseq > $actual 2>&1
-check
+check $expected $actual
 
 # set aseq bseq as unseen
 echo 'Unseen-Sequence: aseq bseq' >> $MH
 new > $actual 2>&1
-check
+check $expected $actual
 
 # test unseen
 cat > $expected <<EOF
@@ -122,49 +114,49 @@ cat > $expected <<EOF
    4  09/29 Test4              Testing message 4<<This is message number 4 >>
 EOF
 unseen > $actual 2>&1
-check
+check $expected $actual
 
 # test fnext with the current folder not in the list
 echo 'Current-Folder: foo1' > $MH_TEST_DIR/Mail/context
 echo 'inbox  1 3-4' > $expected
 fnext -folders $folders > $actual 2>&1
-check
+check $expected $actual
 
 # test fprev with the current folder not in the list
 echo 'Current-Folder: foo1' > $MH_TEST_DIR/Mail/context
 echo 'inbox  1 3-4' > $expected
 fprev -folders $folders > $actual 2>&1
-check
+check $expected $actual
 
 # test fnext with current folder in the middle of the list
 echo 'Current-Folder: foo2' > $MH_TEST_DIR/Mail/context
 echo 'inbox  1 3-4' > $expected
 fnext > $actual 2>&1
-check
+check $expected $actual
 
 # test fprev with current folder in the middle of the list
 echo 'Current-Folder: foo2' > $MH_TEST_DIR/Mail/context
 echo 'foo1  1 3-4' > $expected
 fprev > $actual 2>&1
-check
+check $expected $actual
 
 # test fprev with current folder at the beginning of the list
 echo 'Current-Folder: foo1' > $MH_TEST_DIR/Mail/context
 echo 'inbox  1 3-4' > $expected
 fprev > $actual 2>&1
-check
+check $expected $actual
 
 # test fnext with current folder at the end of the list
 echo 'Current-Folder: inbox' > $MH_TEST_DIR/Mail/context
 echo 'foo1  1 3-4' > $expected
 fnext > $actual 2>&1
-check
+check $expected $actual
 
 # test fnext with no current folder
 rm $MH_TEST_DIR/Mail/context
 echo 'foo1  1 3-4' > $expected
 fnext > $actual 2>&1
-check
+check $expected $actual
 
 # test fnext with only one folder in the list
 cat > $folders <<EOF
@@ -172,6 +164,6 @@ inbox
 EOF
 echo 'inbox  1 3-4' > $expected
 fnext -folders $folders > $actual 2>&1
-check
+check $expected $actual
 
 exit $failed