[PATCH] test: use dtach(1) instead of screen(1) in emacs tests
Tomi Ollila
tomi.ollila at iki.fi
Fri Nov 11 13:15:02 PST 2011
On Sat, 12 Nov 2011 01:06:40 +0400, Dmitry Kurochkin <dmitry.kurochkin at gmail.com> wrote:
> On Fri, 11 Nov 2011 22:48:13 +0200, Tomi Ollila <too at iki.fi> wrote:
> > dtach is simpler than screen and is not setuid/setgid program so
> > TMPDIR does not get cleared by dynamic loader when executed.
> > ---
> >
> > Updated version after discussion with DmitryKurochkin and amdragon
> > on IRC. Thank you.
> >
>
> Looks good to me (though I did not test it).
>
> Few minor comments below.
>
> > test/test-lib.sh | 25 +++++++++++++------------
> > 1 files changed, 13 insertions(+), 12 deletions(-)
> >
> > diff --git a/test/test-lib.sh b/test/test-lib.sh
> > index c81c709..c232130 100755
> > --- a/test/test-lib.sh
> > +++ b/test/test-lib.sh
> > @@ -39,7 +39,7 @@ done,*)
> > ;;
> > esac
> >
> > -# Keep the original TERM for say_color
> > +# Keep the original TERM for say_color and emacs tests
>
> s/emacs tests/test_emacs/ for consistency with say_color?
yes. thanks...
>
> > ORIGINAL_TERM=$TERM
> >
> > # For repeatability, reset the environment to known value.
> > @@ -843,12 +841,15 @@ EOF
> > test_emacs () {
> > if [ -z "$EMACS_SERVER" ]; then
> > EMACS_SERVER="notmuch-test-suite-$$"
> > - # start a detached screen session with an emacs server
> > - screen -S "$EMACS_SERVER" -d -m "$TMP_DIRECTORY/run_emacs" \
> > - --no-window-system \
> > - --eval "(setq server-name \"$EMACS_SERVER\")" \
> > - --eval '(server-start)' \
> > - --eval "(orphan-watchdog $$)" || return
> > + # 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' \
>
> The above line has a space after two tabs.
oops...
I also forgot
-export SCREENRC=/dev/null
-export SYSSCREENRC=/dev/null
(dropped accidetally when cherry-picking non-whitespace changes)
Thanks for playing. Try once more...
>
> Regards,
> Dmitry
Tomi
>
> > + --no-window-system \
> > + --eval '(setq server-name \"$EMACS_SERVER\")' \
> > + --eval '(server-start)' \
> > + --eval '(orphan-watchdog $$)'" || return
> > # wait until the emacs server is up
> > until test_emacs '()' 2>/dev/null; do
> > sleep 1
> > --
> > 1.7.6.1
> >
> > _______________________________________________
> > notmuch mailing list
> > notmuch at notmuchmail.org
> > http://notmuchmail.org/mailman/listinfo/notmuch
>
More information about the notmuch
mailing list