[PATCH 8/9] test: check if emacs is available in the beginning of test_emacs
Dmitry Kurochkin
dmitry.kurochkin at gmail.com
Thu Nov 17 05:08:12 PST 2011
On Thu, 17 Nov 2011 15:13:40 +0400, Dmitry Kurochkin <dmitry.kurochkin at gmail.com> wrote:
> On Thu, 17 Nov 2011 11:43:36 +0200, Tomi Ollila <tomi.ollila at iki.fi> wrote:
> > On Thu, 17 Nov 2011 05:56:25 +0400, Dmitry Kurochkin <dmitry.kurochkin at gmail.com> wrote:
> > > Unfortunately, this is needed to avoid the emacs waiting loop.
> > > ---
> >
> > > test/test-lib.sh | 4 ++++
> > > 1 files changed, 4 insertions(+), 0 deletions(-)
> >
> > [ context reduced ]
> >
> > > diff --git a/test/test-lib.sh b/test/test-lib.sh
> > > index 840c86c..5bd5bd6 100755
> > > --- a/test/test-lib.sh
> > > +++ b/test/test-lib.sh
> >
> > I have to patch the full set to my clone of the repo and do
> > fuller review, but until that...
> >
> > > test_emacs () {
> > > + # test dependencies beforehand to avoid the waiting loop below
> > > + which emacs >/dev/null || emacs || return
> > > + which emacsclient >/dev/null || emacsclient || return
> > > +
> >
> > If emacs not found using which (what happened to hash), then try
> > to execute emacs (??) and if that fails return.
> >
> > Same thing with emacsclient.
> >
> > In case of emacs: DISPLAY set, TERM=dumb -- emacs starts interactively
> > on my desktop; grep DISPLAY test/* yields nothing. (maybe we should unset
> > DISPLAY for tests ?). And, if DISPLAY unset, emacs exits with nonzero
> > value, making || return happen anyway.
> >
> > ... and this is tested every time test_emacs() is executed...
> >
>
> Either you did not apply other patches, or I made some stupid mistake.
>
> I am not very happy with the above lines. They feel hackish. Perhaps
> others would suggest something better.
>
> Here is a more detailed explanation of what they do (or should do):
>
> which emacs || # check that emacs binary exists (hash would succeed
> # for functions)
> emacs || # if the binary does not exist, run the "replacement"
> # function which would register the missing dependency
> return # and return with an error
>
I have sent a new version of this patch series [1] which moves the above
tricks into a dedicated function.
Regards,
Dmitry
[1] id:"1321535163-4895-1-git-send-email-dmitry.kurochkin at gmail.com"
> Regards,
> Dmitry
>
> > > if [ -z "$EMACS_SERVER" ]; then
> > > server_name="notmuch-test-suite-$$"
> > > --
> > > 1.7.7.2
> >
> > Tomi
More information about the notmuch
mailing list