mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-26 04:45:20 +01:00
test: use dtach(1) instead of screen(1) in emacs tests
dtach is simpler than screen and is not setuid/setgid program so TMPDIR does not get cleared by dynamic loader when executed
This commit is contained in:
parent
0234a16b56
commit
2f2ea8a49a
1 changed files with 10 additions and 9 deletions
|
@ -39,7 +39,7 @@ done,*)
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Keep the original TERM for say_color
|
# Keep the original TERM for say_color and test_emacs
|
||||||
ORIGINAL_TERM=$TERM
|
ORIGINAL_TERM=$TERM
|
||||||
|
|
||||||
# For repeatability, reset the environment to known value.
|
# For repeatability, reset the environment to known value.
|
||||||
|
@ -50,8 +50,6 @@ TZ=UTC
|
||||||
TERM=dumb
|
TERM=dumb
|
||||||
export LANG LC_ALL PAGER TERM TZ
|
export LANG LC_ALL PAGER TERM TZ
|
||||||
GIT_TEST_CMP=${GIT_TEST_CMP:-diff -u}
|
GIT_TEST_CMP=${GIT_TEST_CMP:-diff -u}
|
||||||
export SCREENRC=/dev/null
|
|
||||||
export SYSSCREENRC=/dev/null
|
|
||||||
|
|
||||||
# Protect ourselves from common misconfiguration to export
|
# Protect ourselves from common misconfiguration to export
|
||||||
# CDPATH into the environment
|
# CDPATH into the environment
|
||||||
|
@ -843,12 +841,15 @@ EOF
|
||||||
test_emacs () {
|
test_emacs () {
|
||||||
if [ -z "$EMACS_SERVER" ]; then
|
if [ -z "$EMACS_SERVER" ]; then
|
||||||
EMACS_SERVER="notmuch-test-suite-$$"
|
EMACS_SERVER="notmuch-test-suite-$$"
|
||||||
# start a detached screen session with an emacs server
|
# start a detached session with an emacs server
|
||||||
screen -S "$EMACS_SERVER" -d -m "$TMP_DIRECTORY/run_emacs" \
|
# 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 \
|
--no-window-system \
|
||||||
--eval "(setq server-name \"$EMACS_SERVER\")" \
|
--eval '(setq server-name \"$EMACS_SERVER\")' \
|
||||||
--eval '(server-start)' \
|
--eval '(server-start)' \
|
||||||
--eval "(orphan-watchdog $$)" || return
|
--eval '(orphan-watchdog $$)'" || return
|
||||||
# wait until the emacs server is up
|
# wait until the emacs server is up
|
||||||
until test_emacs '()' 2>/dev/null; do
|
until test_emacs '()' 2>/dev/null; do
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
Loading…
Reference in a new issue