aboutsummaryrefslogtreecommitdiff
path: root/test/test-lib.sh
diff options
context:
space:
mode:
authorDmitry Kurochkin <dmitry.kurochkin@gmail.com>2011-11-17 17:05:55 +0400
committerDavid Bremner <bremner@debian.org>2011-11-27 08:13:07 -0800
commit9d5b521472d1ac401ca2667d1261b641bef208cb (patch)
treed44f0efd6912e578f7802c7c6088574efefb94b2 /test/test-lib.sh
parent1660ca5e619a02f430211ac0b26cfdc1ec23a717 (diff)
test: set EMACS_SERVER variable only after dtach(1) was successfully started
Otherwise, we can set the EMACS_SERVER and return with an error. And subsequent calls to test_emacs would assume that emacs server is running.
Diffstat (limited to 'test/test-lib.sh')
-rw-r--r--test/test-lib.sh5
1 files changed, 3 insertions, 2 deletions
diff --git a/test/test-lib.sh b/test/test-lib.sh
index 0735b5c..20fa195 100644
--- a/test/test-lib.sh
+++ b/test/test-lib.sh
@@ -845,16 +845,17 @@ EOF
test_emacs () {
if [ -z "$EMACS_SERVER" ]; then
- EMACS_SERVER="notmuch-test-suite-$$"
+ 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 "$TEST_TMPDIR/emacs-dtach-socket.$$" \
sh -c "stty rows 24 cols 80; exec '$TMP_DIRECTORY/run_emacs' \
--no-window-system \
- --eval '(setq server-name \"$EMACS_SERVER\")' \
+ --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