]> diplodocus.org Git - nmh/blobdiff - test/common.sh.in
Alter HasSuffixC()'s char * to be const.
[nmh] / test / common.sh.in
index 91d3b06368f226a2e7512b45d89a7a98ed228152..b123aca69c8a6b80e290b2b1d8f751af3f2b4cca 100644 (file)
@@ -44,7 +44,7 @@ HOME=$MH_TEST_DIR
 export HOME
 
 unset MAILDROP MHBUILD MHCONTEXT MHMTSUSERCONF MHN MHSHOW MHSTORE
-unset MHLDEBUG MHPDEBUG MHWDEBUG PAGER
+unset MHLDEBUG MHPDEBUG MHWDEBUG PAGER XOAUTH SMTPUTF8
 #### Set LC_ALL in individual tests as needed.  Unset these so
 #### that we don't depend on user's settings in other tests.
 unset LANG LC_ALL LC_CTYPE
@@ -110,10 +110,15 @@ require_prog ()
 }
 
 # Skip test if none of the offered locales are supported.
+# As side effect, use the first locale that is found.  Note that
+# some platforms allow, by way of example, en_US.UTF-8 to be used
+# even though en_US.UTF8 is listed by locale -a.  But by setting
+# LC_ALL here, we don't rely on that.
 require_locale ()
 {
   for locale in "$@"; do
     if locale -a | grep -i "$locale" >/dev/null; then
+        LC_ALL="$locale"; export LC_ALL
         return
     fi
   done
@@ -225,11 +230,7 @@ check() {
     else
         echo
         #### POSIX diff should support -c.
-#        diff -c "$first" "$second" || true
-        if ! diff -c "$first" "$second"; then
-            echo "$first:"; od -t ax "$first"
-            echo "$second:"; od -t ax "$second"
-        fi
+        diff -c "$first" "$second" || true
         echo
         echo "$0: $label failed, outputs are in $first and $second."
         failed=`expr ${failed:-0} + 1`
@@ -312,13 +313,18 @@ cleanup() {
 
 #### Function to set the test name, and whatever the future brings.
 start_test() {
-    nmh_tests_testname="$1"
+    #### run_test disables exit on non-zero status, but does increment
+    #### failed.  Don't overwrite nmh_tests_testname if there was a
+    #### failure; remember the first test that failed.
+    [ ${failed:-0} -eq 0 ]  &&  nmh_tests_testname="$1"
 }
 
 #### Corresponding function to indicate that the test has finished.  It need
 #### not be called after each test, just the last one in a file.
 finish_test() {
-    unset nmh_tests_testname
+    #### run_test disables exit on non-zero status, but does increment
+    #### failed.  Don't unset nmh_tests_testname if there was a failure.
+    [ ${failed:-0} -eq 0 ]  &&  unset nmh_tests_testname
 }
 
 setup_test ()
@@ -393,6 +399,10 @@ EOF
   fi
 
   folder -create +inbox > /dev/null
+  #### Suppress warnings about a new version.
+  #### mhparam version includes the nmh- prefix, so be consistent with that.
+  printf 'Version: nmh-%s\n' "${MH_VERSION}" >> "${MH_TEST_DIR}"/Mail/context
+
   # create 10 basic messages
   for i in 1 2 3 4 5 6 7 8 9 10;
   do