]> diplodocus.org Git - nmh/blobdiff - test/common.sh.in
Updated comments in h/prototypes.h.
[nmh] / test / common.sh.in
index 6336ce96d7236cf8ef567f4506a7b4af2d862f1d..67b6074d3f3c96a07d163b850a28ee4c271f4dae 100644 (file)
@@ -5,9 +5,10 @@
 #### The following variables are set by "make check".  Ensure
 #### that they are set here so that individual tests can be run
 #### outside of make.  Requires that MH_OBJ_DIR be set on entry.
 #### The following variables are set by "make check".  Ensure
 #### that they are set here so that individual tests can be run
 #### outside of make.  Requires that MH_OBJ_DIR be set on entry.
-#### Use the result of cd and pwd so that the result will agree
+#### Use the result of cd and pwd -P so that the result will agree
 #### with what getcwd(3) returns.
 #### with what getcwd(3) returns.
-test -z "$MH_TEST_DIR"  &&  MH_TEST_DIR=`cd "$MH_OBJ_DIR/test/testdir" && pwd`
+test -d "$MH_OBJ_DIR/test/testdir"  ||  mkdir -p "$MH_OBJ_DIR/test/testdir"
+test -z "$MH_TEST_DIR" && MH_TEST_DIR=`cd "$MH_OBJ_DIR/test/testdir" && pwd -P`
 export MH_TEST_DIR
 test -z "$MH_INST_DIR"  &&  MH_INST_DIR="${MH_TEST_DIR}/inst"
 test -z "$MH_VERSION"  &&  MH_VERSION="@VERSION@"
 export MH_TEST_DIR
 test -z "$MH_INST_DIR"  &&  MH_INST_DIR="${MH_TEST_DIR}/inst"
 test -z "$MH_VERSION"  &&  MH_VERSION="@VERSION@"
@@ -28,8 +29,22 @@ test -z "$ICONV_ENABLED"  &&  ICONV_ENABLED="@ICONV_ENABLED@"
 test -z "$OAUTH_SUPPORT"  &&  OAUTH_SUPPORT="@OAUTH_SUPPORT@"
 test -z "$CURL_USER_AGENT"  &&  CURL_USER_AGENT="@CURL_USER_AGENT@"
 
 test -z "$OAUTH_SUPPORT"  &&  OAUTH_SUPPORT="@OAUTH_SUPPORT@"
 test -z "$CURL_USER_AGENT"  &&  CURL_USER_AGENT="@CURL_USER_AGENT@"
 
+#### If w3m is used, HOME needs to be set, assuming default w3m config.
+#### So make sure that HOME is set to avoid run-time warning about not
+#### being able to create config directory.
+test -z "$HOME"  &&  HOME=$MH_TEST_DIR
+HOME=$MH_TEST_DIR
+export HOME
+
+#### If w3m is used, HOME needs to be set, assuming default w3m config.
+#### So make sure that HOME is set to avoid run-time warning about not
+#### being able to create config directory.
+test -z "$HOME"  &&  HOME=$MH_TEST_DIR
+HOME=$MH_TEST_DIR
+export HOME
+
 unset MAILDROP MHBUILD MHCONTEXT MHMTSUSERCONF MHN MHSHOW MHSTORE
 unset MAILDROP MHBUILD MHCONTEXT MHMTSUSERCONF MHN MHSHOW MHSTORE
-unset MHLDEBUG MHPDEBUG MHWDEBUG PAGER
+unset MHLDEBUG MHPDEBUG MHWDEBUG PAGER XOAUTH
 #### 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
 #### 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
@@ -293,13 +308,18 @@ cleanup() {
 
 #### Function to set the test name, and whatever the future brings.
 start_test() {
 
 #### 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() {
 }
 
 #### 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 ()
 }
 
 setup_test ()
@@ -374,6 +394,10 @@ EOF
   fi
 
   folder -create +inbox > /dev/null
   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
   # create 10 basic messages
   for i in 1 2 3 4 5 6 7 8 9 10;
   do