]> git.notmuchmail.org Git - notmuch/blobdiff - test/test-lib.sh
test: Nix increment_mtime.
[notmuch] / test / test-lib.sh
index 49522da8706e6f6c7ee6dbc8dc48e41f9eb0faef..22e387e49d0a8067351de747f8ce2ea90d6f8ceb 100755 (executable)
@@ -213,16 +213,6 @@ remove_cr () {
        tr '\015' Q | sed -e 's/Q$//'
 }
 
-# Notmuch helper functions
-increment_mtime_amount=0
-increment_mtime ()
-{
-    dir="$1"
-
-    increment_mtime_amount=$((increment_mtime_amount + 1))
-    touch -d "+${increment_mtime_amount} seconds" "$dir"
-}
-
 # Generate a new message in the mail directory, with a unique message
 # ID and subject. The message is not added to the index.
 #
@@ -364,9 +354,6 @@ Date: ${template[date]}
 ${additional_headers}
 ${template[body]}
 EOF
-
-    # Ensure that the mtime of the containing directory is updated
-    increment_mtime "$(dirname "${gen_msg_filename}")"
 }
 
 # Generate a new message and add it to the database.
@@ -829,6 +816,8 @@ test_done () {
 
        echo
 
+       [ -n "$EMACS_SERVER" ] && test_emacs '(kill-emacs)'
+
        if [ "$test_failure" = "0" ]; then
            if [ "$test_broken" = "0" ]; then       
                rm -rf "$remove_tmp"
@@ -848,16 +837,8 @@ emacs_generate_script () {
 export PATH=$PATH
 export NOTMUCH_CONFIG=$NOTMUCH_CONFIG
 
-# We assume that the user will give a command-line argument only if
-# wanting to run in batch mode.
-if [ \$# -gt 0 ]; then
-       BATCH=--batch
-fi
-
 # Here's what we are using here:
 #
-# --batch:             Quit after given commands and print all (messages)
-#
 # --no-init-file       Don't load users ~/.emacs
 #
 # --no-site-file       Don't load the site-wide startup stuff
@@ -866,16 +847,24 @@ fi
 #
 # --load               Force loading of notmuch.el and test-lib.el
 
-emacs \$BATCH --no-init-file --no-site-file \
+emacs --no-init-file --no-site-file \
        --directory "$TEST_DIRECTORY/../emacs" --load notmuch.el \
        --directory "$TEST_DIRECTORY" --load test-lib.el \
-       --eval "(progn \$@)"
+       "\$@"
 EOF
        chmod a+x "$TMP_DIRECTORY/run_emacs"
 }
 
 test_emacs () {
-       "$TMP_DIRECTORY/run_emacs" "$@"
+       if [ -z "$EMACS_SERVER" ]; then
+               EMACS_SERVER="notmuch-test-suite-$$"
+               "$TMP_DIRECTORY/run_emacs" \
+                       --daemon \
+                       --eval "(setq server-name \"$EMACS_SERVER\")" \
+                       --eval "(orphan-watchdog $$)" || return
+       fi
+
+       emacsclient --socket-name="$EMACS_SERVER" --eval "(progn $@)"
 }