]> git.notmuchmail.org Git - notmuch/blobdiff - test/test-lib.sh
test: Don't return the result of checking for running emacs to the tester.
[notmuch] / test / test-lib.sh
index b5e346c0c544abdfdfe7700b7b14385123d72719..82c686ca074030e86397693775512c764751b690 100644 (file)
@@ -1,4 +1,3 @@
-#!/usr/bin/env bash
 #
 # Copyright (c) 2005 Junio C Hamano
 #
 #
 # Copyright (c) 2005 Junio C Hamano
 #
@@ -50,6 +49,7 @@ TZ=UTC
 TERM=dumb
 export LANG LC_ALL PAGER TERM TZ
 GIT_TEST_CMP=${GIT_TEST_CMP:-diff -u}
 TERM=dumb
 export LANG LC_ALL PAGER TERM TZ
 GIT_TEST_CMP=${GIT_TEST_CMP:-diff -u}
+TEST_EMACS=${TEST_EMACS:-${EMACS:-emacs}}
 
 # Protect ourselves from common misconfiguration to export
 # CDPATH into the environment
 
 # Protect ourselves from common misconfiguration to export
 # CDPATH into the environment
@@ -140,7 +140,7 @@ if test -n "$color"; then
                esac
                shift
                printf " "
                esac
                shift
                printf " "
-                printf "$@"
+               printf "$@"
                tput sgr0
                print_subtest
                )
                tput sgr0
                print_subtest
                )
@@ -150,7 +150,7 @@ else
                test -z "$1" && test -n "$quiet" && return
                shift
                printf " "
                test -z "$1" && test -n "$quiet" && return
                shift
                printf " "
-                printf "$@"
+               printf "$@"
                print_subtest
        }
 fi
                print_subtest
        }
 fi
@@ -249,7 +249,7 @@ remove_cr () {
 #      Store the message in file 'name'. The default is to store it
 #      in 'msg-<count>', where <count> is three-digit number of the
 #      message.
 #      Store the message in file 'name'. The default is to store it
 #      in 'msg-<count>', where <count> is three-digit number of the
 #      message.
-#      
+#
 #  [body]=text
 #
 #      Text to use as the body of the email message
 #  [body]=text
 #
 #      Text to use as the body of the email message
@@ -322,7 +322,7 @@ generate_message ()
     fi
 
     if [ -z "${template[date]}" ]; then
     fi
 
     if [ -z "${template[date]}" ]; then
-       template[date]="Tue, 05 Jan 2001 15:43:57 -0000"
+       template[date]="Fri, 05 Jan 2001 15:43:57 +0000"
     fi
 
     additional_headers=""
     fi
 
     additional_headers=""
@@ -869,7 +869,7 @@ test_done () {
        [ -n "$EMACS_SERVER" ] && test_emacs '(kill-emacs)'
 
        if [ "$test_failure" = "0" ]; then
        [ -n "$EMACS_SERVER" ] && test_emacs '(kill-emacs)'
 
        if [ "$test_failure" = "0" ]; then
-           if [ "$test_broken" = "0" ]; then       
+           if [ "$test_broken" = "0" ]; then
                rm -rf "$remove_tmp"
            fi
            exit 0
                rm -rf "$remove_tmp"
            fi
            exit 0
@@ -881,7 +881,7 @@ test_done () {
 emacs_generate_script () {
        # Construct a little test script here for the benefit of the user,
        # (who can easily run "run_emacs" to get the same emacs environment
 emacs_generate_script () {
        # Construct a little test script here for the benefit of the user,
        # (who can easily run "run_emacs" to get the same emacs environment
-       # for investigating any failures).    
+       # for investigating any failures).
        cat <<EOF >"$TMP_DIRECTORY/run_emacs"
 #!/bin/sh
 export PATH=$PATH
        cat <<EOF >"$TMP_DIRECTORY/run_emacs"
 #!/bin/sh
 export PATH=$PATH
@@ -897,7 +897,7 @@ export NOTMUCH_CONFIG=$NOTMUCH_CONFIG
 #
 # --load               Force loading of notmuch.el and test-lib.el
 
 #
 # --load               Force loading of notmuch.el and test-lib.el
 
-exec emacs --no-init-file --no-site-file \
+exec ${TEST_EMACS} --no-init-file --no-site-file \
        --directory "$TEST_DIRECTORY/../emacs" --load notmuch.el \
        --directory "$TEST_DIRECTORY" --load test-lib.el \
        "\$@"
        --directory "$TEST_DIRECTORY/../emacs" --load notmuch.el \
        --directory "$TEST_DIRECTORY" --load test-lib.el \
        "\$@"
@@ -907,8 +907,11 @@ EOF
 
 test_emacs () {
        # test dependencies beforehand to avoid the waiting loop below
 
 test_emacs () {
        # test dependencies beforehand to avoid the waiting loop below
-       test_require_external_prereq emacs || return
-       test_require_external_prereq emacsclient || return
+       missing_dependencies=
+       test_require_external_prereq dtach || missing_dependencies=1
+       test_require_external_prereq emacs || missing_dependencies=1
+       test_require_external_prereq emacsclient || missing_dependencies=1
+       test -z "$missing_dependencies" || return
 
        if [ -z "$EMACS_SERVER" ]; then
                server_name="notmuch-test-suite-$$"
 
        if [ -z "$EMACS_SERVER" ]; then
                server_name="notmuch-test-suite-$$"
@@ -923,7 +926,7 @@ test_emacs () {
                                --eval '(orphan-watchdog $$)'" || return
                EMACS_SERVER="$server_name"
                # wait until the emacs server is up
                                --eval '(orphan-watchdog $$)'" || return
                EMACS_SERVER="$server_name"
                # wait until the emacs server is up
-               until test_emacs '()' 2>/dev/null; do
+               until test_emacs '()' >/dev/null 2>/dev/null; do
                        sleep 1
                done
        fi
                        sleep 1
                done
        fi