Unfortunately, this is needed to avoid the emacs waiting loop. --- test/test-lib.sh | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/test/test-lib.sh b/test/test-lib.sh index 5a99216..21e3162 100755 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -872,40 +872,44 @@ export NOTMUCH_CONFIG=$NOTMUCH_CONFIG # Here's what we are using here: # # --no-init-file Don't load users ~/.emacs # # --no-site-file Don't load the site-wide startup stuff # # --directory Ensure that the local elisp sources are found # # --load Force loading of notmuch.el and test-lib.el exec emacs --no-init-file --no-site-file \ --directory "$TEST_DIRECTORY/../emacs" --load notmuch.el \ --directory "$TEST_DIRECTORY" --load test-lib.el \ "\$@" EOF chmod a+x "$TMP_DIRECTORY/run_emacs" } test_emacs () { + # test dependencies beforehand to avoid the waiting loop below + test_require_external_prereq emacs || return + test_require_external_prereq emacsclient || return + if [ -z "$EMACS_SERVER" ]; then server_name="notmuch-test-suite-$$" # start a detached session with an emacs server # user's TERM is given to dtach which assumes a minimally # VT100-compatible terminal -- and emacs inherits that TERM=$ORIGINAL_TERM dtach -n "$TMP_DIRECTORY/emacs-dtach-socket.$$" \ sh -c "stty rows 24 cols 80; exec '$TMP_DIRECTORY/run_emacs' \ --no-window-system \ --eval '(setq server-name \"$server_name\")' \ --eval '(server-start)' \ --eval '(orphan-watchdog $$)'" || return EMACS_SERVER="$server_name" # wait until the emacs server is up until test_emacs '()' 2>/dev/null; do sleep 1 done fi emacsclient --socket-name="$EMACS_SERVER" --eval "(progn $@)" } -- 1.7.7.2 _______________________________________________ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch