[PATCH 1/6] test: run emacs inside screen
Dmitry Kurochkin
dmitry.kurochkin at gmail.com
Wed Jun 29 14:27:06 PDT 2011
On Wed, 29 Jun 2011 16:16:40 -0400, Jim Paris <jim at jtan.com> wrote:
> Dmitry Kurochkin wrote:
> > Before the change, emacs run in daemon mode without any visible
> > buffers. Turns out that this affects emacs behavior in some
> > cases. In particular, `window-end' function returns `point-max'
> > instead of the last visible position. That makes it hard or
> > impossible to implement some tests. The patch runs emacs in a
> > detached screen(1) session. So that it works exactly as if it
> > has a visible window.
> >
> > Note: screen terminates when emacs exits. So the patch does not
> > introduce new "running processes left behind" issues.
> > ---
> > test/test-lib.sh | 10 ++++++++--
> > 1 files changed, 8 insertions(+), 2 deletions(-)
> >
> > diff --git a/test/test-lib.sh b/test/test-lib.sh
> > index 079d7db..8d7c98d 100755
> > --- a/test/test-lib.sh
> > +++ b/test/test-lib.sh
> > @@ -873,10 +873,16 @@ EOF
> > test_emacs () {
> > if [ -z "$EMACS_SERVER" ]; then
> > EMACS_SERVER="notmuch-test-suite-$$"
> > - "$TMP_DIRECTORY/run_emacs" \
> > - --daemon \
> > + # start a detached screen session with an emacs server
> > + screen -S "$EMACS_SERVER" -d -m "$TMP_DIRECTORY/run_emacs" \
>
> To avoid problems with ~/.screenrc or /etc/screenrc, you might want e.g.
> env SYSSCREENRC=/dev/null SCREENRC=/dev/null screen -S ...
>
Thanks for the suggestion, Jim. I sent a patch to fix that.
Regards,
Dmitry
> -jim
>
> > + --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 '()'; do
> > + sleep 1
> > + done
> > fi
> >
> > emacsclient --socket-name="$EMACS_SERVER" --eval "(progn $@)"
> > --
> > 1.7.5.4
> >
> > _______________________________________________
> > notmuch mailing list
> > notmuch at notmuchmail.org
> > http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list