[PATCH] test: don't bail out of `run_emacs' too early when missing prereqs

2012-01-16 Thread Pieter Praet
On Sun, 15 Jan 2012 17:56:37 +0400, Dmitry Kurochkin  wrote:
> On Sat, 14 Jan 2012 10:07:41 +0100, Pieter Praet  wrote:
> > On Thu, 12 Jan 2012 21:34:29 +0400, Dmitry Kurochkin  > gmail.com> wrote:
> > > On Thu, 12 Jan 2012 18:16:59 +0100, Pieter Praet  
> > > wrote:
> > > > When running the Emacs tests in verbose mode, only the first missing
> > > > prereq is reported because the `run_emacs' function is short-circuited
> > > > early:
> > > > 
> > > >   #+begin_example
> > > > emacs: Testing emacs interface
> > > >  missing prerequisites: [0]  emacs(1)
> > > >  skipping test: [0]  Basic notmuch-hello view in emacs
> > > >  SKIP   [0]  Basic notmuch-hello view in emacs
> > > >   #+end_example
> > > > 
> > > > This can lead to situations reminiscent of "dependency hell", so instead
> > > > of returning based on each individual `test_require_external_prereq's 
> > > > exit
> > > > status, we now do so by checking 
> > > > $test_subtest_missing_external_prereqs_:
> > > > 
> > > >   #+begin_example
> > > > emacs: Testing emacs interface
> > > >  missing prerequisites: [0]  dtach(1) emacs(1) emacsclient(1)
> > > >  skipping test: [0]  Basic notmuch-hello view in emacs
> > > >  SKIP   [0]  Basic notmuch-hello view in emacs
> > > >   #+end_example
> > > > 
> > > > Also add missing prereq for dtach(1).
> > > > 
> > > > ---
> > > >  test/test-lib.sh |6 --
> > > >  1 files changed, 4 insertions(+), 2 deletions(-)
> > > > 
> > > > diff --git a/test/test-lib.sh b/test/test-lib.sh
> > > > index 82767c0..6ec3882 100644
> > > > --- a/test/test-lib.sh
> > > > +++ b/test/test-lib.sh
> > > > @@ -907,8 +907,10 @@ EOF
> > > >  
> > > >  test_emacs () {
> > > > # test dependencies beforehand to avoid the waiting loop below
> > > > -   test_require_external_prereq emacs || return
> > > > -   test_require_external_prereq emacsclient || return
> > > > +   test_require_external_prereq dtach
> > > > +   test_require_external_prereq emacs
> > > > +   test_require_external_prereq emacsclient
> > > > +   test -z "$test_subtest_missing_external_prereqs_" || return
> > > 
> > > There may be other missing dependencies before test_emacs() is called
> > > and $test_subtest_missing_external_prereqs_ would not be blank.  [...]
> > 
> > True, hadn't though of that...
> > 
> > > [...] Also, I
> > > would like to keep the number of functions that use
> > > $test_subtest_missing_external_prereqs_ minimal.  [...]
> > 
> > Could you elaborate on that?
> > 
> 
> This variable is supposed to be internal.  I would like to be able to
> change it's meaning or replace it with something better with minimal
> changes in the other code.  So I prefer it to be used only by few
> "low-level" dependency functions.
> 

Ok, thanks!


> This is not some strict rule, in other situation I may agree that using
> $test_subtest_missing_external_prereqs_ directly is the best option.
> But in this case, introducing a local variable with clean and simple
> meaning is better IMO.
> 

Agreed.


> Regards,
>   Dmitry
> 
> > > [...] How about:
> > > 
> > >   missing_dependencies=
> > >   test_require_... dtach || missing_dependencies=1
> > >   test_require_... emacs || missing_dependencies=1
> > >   ...
> > >   test -z "$missing_dependencies" || return
> > > 
> > 
> > Agreed!  Patch follows.
> > 
> > > Regards,
> > >   Dmitry
> > > 
> > > >  
> > > > if [ -z "$EMACS_SERVER" ]; then
> > > > server_name="notmuch-test-suite-$$"
> > > > -- 
> > > > 1.7.8.1
> > > > 
> > 
> > 
> > Peace
> > 
> > -- 
> > Pieter


Peace

-- 
Pieter


Re: [PATCH] test: don't bail out of `run_emacs' too early when missing prereqs

2012-01-16 Thread Pieter Praet
On Sun, 15 Jan 2012 17:56:37 +0400, Dmitry Kurochkin 
dmitry.kuroch...@gmail.com wrote:
 On Sat, 14 Jan 2012 10:07:41 +0100, Pieter Praet pie...@praet.org wrote:
  On Thu, 12 Jan 2012 21:34:29 +0400, Dmitry Kurochkin 
  dmitry.kuroch...@gmail.com wrote:
   On Thu, 12 Jan 2012 18:16:59 +0100, Pieter Praet pie...@praet.org wrote:
When running the Emacs tests in verbose mode, only the first missing
prereq is reported because the `run_emacs' function is short-circuited
early:

  #+begin_example
emacs: Testing emacs interface
 missing prerequisites: [0]  emacs(1)
 skipping test: [0]  Basic notmuch-hello view in emacs
 SKIP   [0]  Basic notmuch-hello view in emacs
  #+end_example

This can lead to situations reminiscent of dependency hell, so instead
of returning based on each individual `test_require_external_prereq's 
exit
status, we now do so by checking 
$test_subtest_missing_external_prereqs_:

  #+begin_example
emacs: Testing emacs interface
 missing prerequisites: [0]  dtach(1) emacs(1) emacsclient(1)
 skipping test: [0]  Basic notmuch-hello view in emacs
 SKIP   [0]  Basic notmuch-hello view in emacs
  #+end_example

Also add missing prereq for dtach(1).

---
 test/test-lib.sh |6 --
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/test/test-lib.sh b/test/test-lib.sh
index 82767c0..6ec3882 100644
--- a/test/test-lib.sh
+++ b/test/test-lib.sh
@@ -907,8 +907,10 @@ EOF
 
 test_emacs () {
# test dependencies beforehand to avoid the waiting loop below
-   test_require_external_prereq emacs || return
-   test_require_external_prereq emacsclient || return
+   test_require_external_prereq dtach
+   test_require_external_prereq emacs
+   test_require_external_prereq emacsclient
+   test -z $test_subtest_missing_external_prereqs_ || return
   
   There may be other missing dependencies before test_emacs() is called
   and $test_subtest_missing_external_prereqs_ would not be blank.  [...]
  
  True, hadn't though of that...
  
   [...] Also, I
   would like to keep the number of functions that use
   $test_subtest_missing_external_prereqs_ minimal.  [...]
  
  Could you elaborate on that?
  
 
 This variable is supposed to be internal.  I would like to be able to
 change it's meaning or replace it with something better with minimal
 changes in the other code.  So I prefer it to be used only by few
 low-level dependency functions.
 

Ok, thanks!


 This is not some strict rule, in other situation I may agree that using
 $test_subtest_missing_external_prereqs_ directly is the best option.
 But in this case, introducing a local variable with clean and simple
 meaning is better IMO.
 

Agreed.


 Regards,
   Dmitry
 
   [...] How about:
   
 missing_dependencies=
 test_require_... dtach || missing_dependencies=1
 test_require_... emacs || missing_dependencies=1
 ...
 test -z $missing_dependencies || return
   
  
  Agreed!  Patch follows.
  
   Regards,
 Dmitry
   
 
if [ -z $EMACS_SERVER ]; then
server_name=notmuch-test-suite-$$
-- 
1.7.8.1

  
  
  Peace
  
  -- 
  Pieter


Peace

-- 
Pieter
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


[PATCH] test: don't bail out of `run_emacs' too early when missing prereqs

2012-01-15 Thread David Bremner
On Sat, 14 Jan 2012 10:09:37 +0100, Pieter Praet  wrote:
> When running the Emacs tests in verbose mode, only the first missing
> prereq is reported because the `run_emacs' function is short-circuited
> early:

pushed.

d


[PATCH] test: don't bail out of `run_emacs' too early when missing prereqs

2012-01-15 Thread Dmitry Kurochkin
On Sat, 14 Jan 2012 10:07:41 +0100, Pieter Praet  wrote:
> On Thu, 12 Jan 2012 21:34:29 +0400, Dmitry Kurochkin  gmail.com> wrote:
> > On Thu, 12 Jan 2012 18:16:59 +0100, Pieter Praet  
> > wrote:
> > > When running the Emacs tests in verbose mode, only the first missing
> > > prereq is reported because the `run_emacs' function is short-circuited
> > > early:
> > > 
> > >   #+begin_example
> > > emacs: Testing emacs interface
> > >  missing prerequisites: [0]  emacs(1)
> > >  skipping test: [0]  Basic notmuch-hello view in emacs
> > >  SKIP   [0]  Basic notmuch-hello view in emacs
> > >   #+end_example
> > > 
> > > This can lead to situations reminiscent of "dependency hell", so instead
> > > of returning based on each individual `test_require_external_prereq's exit
> > > status, we now do so by checking $test_subtest_missing_external_prereqs_:
> > > 
> > >   #+begin_example
> > > emacs: Testing emacs interface
> > >  missing prerequisites: [0]  dtach(1) emacs(1) emacsclient(1)
> > >  skipping test: [0]  Basic notmuch-hello view in emacs
> > >  SKIP   [0]  Basic notmuch-hello view in emacs
> > >   #+end_example
> > > 
> > > Also add missing prereq for dtach(1).
> > > 
> > > ---
> > >  test/test-lib.sh |6 --
> > >  1 files changed, 4 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/test/test-lib.sh b/test/test-lib.sh
> > > index 82767c0..6ec3882 100644
> > > --- a/test/test-lib.sh
> > > +++ b/test/test-lib.sh
> > > @@ -907,8 +907,10 @@ EOF
> > >  
> > >  test_emacs () {
> > >   # test dependencies beforehand to avoid the waiting loop below
> > > - test_require_external_prereq emacs || return
> > > - test_require_external_prereq emacsclient || return
> > > + test_require_external_prereq dtach
> > > + test_require_external_prereq emacs
> > > + test_require_external_prereq emacsclient
> > > + test -z "$test_subtest_missing_external_prereqs_" || return
> > 
> > There may be other missing dependencies before test_emacs() is called
> > and $test_subtest_missing_external_prereqs_ would not be blank.  [...]
> 
> True, hadn't though of that...
> 
> > [...] Also, I
> > would like to keep the number of functions that use
> > $test_subtest_missing_external_prereqs_ minimal.  [...]
> 
> Could you elaborate on that?
> 

This variable is supposed to be internal.  I would like to be able to
change it's meaning or replace it with something better with minimal
changes in the other code.  So I prefer it to be used only by few
"low-level" dependency functions.

This is not some strict rule, in other situation I may agree that using
$test_subtest_missing_external_prereqs_ directly is the best option.
But in this case, introducing a local variable with clean and simple
meaning is better IMO.

Regards,
  Dmitry

> > [...] How about:
> > 
> >   missing_dependencies=
> >   test_require_... dtach || missing_dependencies=1
> >   test_require_... emacs || missing_dependencies=1
> >   ...
> >   test -z "$missing_dependencies" || return
> > 
> 
> Agreed!  Patch follows.
> 
> > Regards,
> >   Dmitry
> > 
> > >  
> > >   if [ -z "$EMACS_SERVER" ]; then
> > >   server_name="notmuch-test-suite-$$"
> > > -- 
> > > 1.7.8.1
> > > 
> 
> 
> Peace
> 
> -- 
> Pieter


[PATCH] test: don't bail out of `run_emacs' too early when missing prereqs

2012-01-15 Thread Dmitry Kurochkin
On Sat, 14 Jan 2012 10:09:37 +0100, Pieter Praet  wrote:
> When running the Emacs tests in verbose mode, only the first missing
> prereq is reported because the `run_emacs' function is short-circuited
> early:
> 
>   #+begin_example
> emacs: Testing emacs interface
>  missing prerequisites: [0]  emacs(1)
>  skipping test: [0]  Basic notmuch-hello view in emacs
>  SKIP   [0]  Basic notmuch-hello view in emacs
>   #+end_example
> 
> This can lead to situations reminiscent of "dependency hell", so instead
> of returning based on each individual `test_require_external_prereq's exit
> status, we now do so only after checking all the prereqs:
> 
>   #+begin_example
> emacs: Testing emacs interface
>  missing prerequisites: [0]  dtach(1) emacs(1) emacsclient(1)
>  skipping test: [0]  Basic notmuch-hello view in emacs
>  SKIP   [0]  Basic notmuch-hello view in emacs
>   #+end_example
> 
> Also added missing prereq for dtach(1).

looks good to me

Regards,
  Dmitry

> ---
>  test/test-lib.sh |7 +--
>  1 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/test/test-lib.sh b/test/test-lib.sh
> index 82767c0..d1fbc05 100644
> --- a/test/test-lib.sh
> +++ b/test/test-lib.sh
> @@ -907,8 +907,11 @@ EOF
>  
>  test_emacs () {
>   # test dependencies beforehand to avoid the waiting loop below
> - test_require_external_prereq emacs || return
> - test_require_external_prereq emacsclient || return
> + missing_dependencies=
> + test_require_external_prereq dtach || missing_dependencies=1
> + test_require_external_prereq emacs || missing_dependencies=1
> + test_require_external_prereq emacsclient || missing_dependencies=1
> + test -z "$missing_dependencies" || return
>  
>   if [ -z "$EMACS_SERVER" ]; then
>   server_name="notmuch-test-suite-$$"
> -- 
> 1.7.8.1
> 


Re: [PATCH] test: don't bail out of `run_emacs' too early when missing prereqs

2012-01-15 Thread Dmitry Kurochkin
On Sat, 14 Jan 2012 10:09:37 +0100, Pieter Praet pie...@praet.org wrote:
 When running the Emacs tests in verbose mode, only the first missing
 prereq is reported because the `run_emacs' function is short-circuited
 early:
 
   #+begin_example
 emacs: Testing emacs interface
  missing prerequisites: [0]  emacs(1)
  skipping test: [0]  Basic notmuch-hello view in emacs
  SKIP   [0]  Basic notmuch-hello view in emacs
   #+end_example
 
 This can lead to situations reminiscent of dependency hell, so instead
 of returning based on each individual `test_require_external_prereq's exit
 status, we now do so only after checking all the prereqs:
 
   #+begin_example
 emacs: Testing emacs interface
  missing prerequisites: [0]  dtach(1) emacs(1) emacsclient(1)
  skipping test: [0]  Basic notmuch-hello view in emacs
  SKIP   [0]  Basic notmuch-hello view in emacs
   #+end_example
 
 Also added missing prereq for dtach(1).

looks good to me

Regards,
  Dmitry

 ---
  test/test-lib.sh |7 +--
  1 files changed, 5 insertions(+), 2 deletions(-)
 
 diff --git a/test/test-lib.sh b/test/test-lib.sh
 index 82767c0..d1fbc05 100644
 --- a/test/test-lib.sh
 +++ b/test/test-lib.sh
 @@ -907,8 +907,11 @@ EOF
  
  test_emacs () {
   # test dependencies beforehand to avoid the waiting loop below
 - test_require_external_prereq emacs || return
 - test_require_external_prereq emacsclient || return
 + missing_dependencies=
 + test_require_external_prereq dtach || missing_dependencies=1
 + test_require_external_prereq emacs || missing_dependencies=1
 + test_require_external_prereq emacsclient || missing_dependencies=1
 + test -z $missing_dependencies || return
  
   if [ -z $EMACS_SERVER ]; then
   server_name=notmuch-test-suite-$$
 -- 
 1.7.8.1
 
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Re: [PATCH] test: don't bail out of `run_emacs' too early when missing prereqs

2012-01-15 Thread Dmitry Kurochkin
On Sat, 14 Jan 2012 10:07:41 +0100, Pieter Praet pie...@praet.org wrote:
 On Thu, 12 Jan 2012 21:34:29 +0400, Dmitry Kurochkin 
 dmitry.kuroch...@gmail.com wrote:
  On Thu, 12 Jan 2012 18:16:59 +0100, Pieter Praet pie...@praet.org wrote:
   When running the Emacs tests in verbose mode, only the first missing
   prereq is reported because the `run_emacs' function is short-circuited
   early:
   
 #+begin_example
   emacs: Testing emacs interface
missing prerequisites: [0]  emacs(1)
skipping test: [0]  Basic notmuch-hello view in emacs
SKIP   [0]  Basic notmuch-hello view in emacs
 #+end_example
   
   This can lead to situations reminiscent of dependency hell, so instead
   of returning based on each individual `test_require_external_prereq's exit
   status, we now do so by checking $test_subtest_missing_external_prereqs_:
   
 #+begin_example
   emacs: Testing emacs interface
missing prerequisites: [0]  dtach(1) emacs(1) emacsclient(1)
skipping test: [0]  Basic notmuch-hello view in emacs
SKIP   [0]  Basic notmuch-hello view in emacs
 #+end_example
   
   Also add missing prereq for dtach(1).
   
   ---
test/test-lib.sh |6 --
1 files changed, 4 insertions(+), 2 deletions(-)
   
   diff --git a/test/test-lib.sh b/test/test-lib.sh
   index 82767c0..6ec3882 100644
   --- a/test/test-lib.sh
   +++ b/test/test-lib.sh
   @@ -907,8 +907,10 @@ EOF

test_emacs () {
 # test dependencies beforehand to avoid the waiting loop below
   - test_require_external_prereq emacs || return
   - test_require_external_prereq emacsclient || return
   + test_require_external_prereq dtach
   + test_require_external_prereq emacs
   + test_require_external_prereq emacsclient
   + test -z $test_subtest_missing_external_prereqs_ || return
  
  There may be other missing dependencies before test_emacs() is called
  and $test_subtest_missing_external_prereqs_ would not be blank.  [...]
 
 True, hadn't though of that...
 
  [...] Also, I
  would like to keep the number of functions that use
  $test_subtest_missing_external_prereqs_ minimal.  [...]
 
 Could you elaborate on that?
 

This variable is supposed to be internal.  I would like to be able to
change it's meaning or replace it with something better with minimal
changes in the other code.  So I prefer it to be used only by few
low-level dependency functions.

This is not some strict rule, in other situation I may agree that using
$test_subtest_missing_external_prereqs_ directly is the best option.
But in this case, introducing a local variable with clean and simple
meaning is better IMO.

Regards,
  Dmitry

  [...] How about:
  
missing_dependencies=
test_require_... dtach || missing_dependencies=1
test_require_... emacs || missing_dependencies=1
...
test -z $missing_dependencies || return
  
 
 Agreed!  Patch follows.
 
  Regards,
Dmitry
  

 if [ -z $EMACS_SERVER ]; then
 server_name=notmuch-test-suite-$$
   -- 
   1.7.8.1
   
 
 
 Peace
 
 -- 
 Pieter
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Re: [PATCH] test: don't bail out of `run_emacs' too early when missing prereqs

2012-01-15 Thread David Bremner
On Sat, 14 Jan 2012 10:09:37 +0100, Pieter Praet pie...@praet.org wrote:
 When running the Emacs tests in verbose mode, only the first missing
 prereq is reported because the `run_emacs' function is short-circuited
 early:

pushed.

d
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


[PATCH] test: don't bail out of `run_emacs' too early when missing prereqs

2012-01-14 Thread Pieter Praet
When running the Emacs tests in verbose mode, only the first missing
prereq is reported because the `run_emacs' function is short-circuited
early:

  #+begin_example
emacs: Testing emacs interface
 missing prerequisites: [0]  emacs(1)
 skipping test: [0]  Basic notmuch-hello view in emacs
 SKIP   [0]  Basic notmuch-hello view in emacs
  #+end_example

This can lead to situations reminiscent of "dependency hell", so instead
of returning based on each individual `test_require_external_prereq's exit
status, we now do so only after checking all the prereqs:

  #+begin_example
emacs: Testing emacs interface
 missing prerequisites: [0]  dtach(1) emacs(1) emacsclient(1)
 skipping test: [0]  Basic notmuch-hello view in emacs
 SKIP   [0]  Basic notmuch-hello view in emacs
  #+end_example

Also added missing prereq for dtach(1).
---
 test/test-lib.sh |7 +--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/test/test-lib.sh b/test/test-lib.sh
index 82767c0..d1fbc05 100644
--- a/test/test-lib.sh
+++ b/test/test-lib.sh
@@ -907,8 +907,11 @@ EOF

 test_emacs () {
# test dependencies beforehand to avoid the waiting loop below
-   test_require_external_prereq emacs || return
-   test_require_external_prereq emacsclient || return
+   missing_dependencies=
+   test_require_external_prereq dtach || missing_dependencies=1
+   test_require_external_prereq emacs || missing_dependencies=1
+   test_require_external_prereq emacsclient || missing_dependencies=1
+   test -z "$missing_dependencies" || return

if [ -z "$EMACS_SERVER" ]; then
server_name="notmuch-test-suite-$$"
-- 
1.7.8.1



[PATCH] test: don't bail out of `run_emacs' too early when missing prereqs

2012-01-14 Thread Pieter Praet
On Thu, 12 Jan 2012 21:34:29 +0400, Dmitry Kurochkin  wrote:
> On Thu, 12 Jan 2012 18:16:59 +0100, Pieter Praet  wrote:
> > When running the Emacs tests in verbose mode, only the first missing
> > prereq is reported because the `run_emacs' function is short-circuited
> > early:
> > 
> >   #+begin_example
> > emacs: Testing emacs interface
> >  missing prerequisites: [0]  emacs(1)
> >  skipping test: [0]  Basic notmuch-hello view in emacs
> >  SKIP   [0]  Basic notmuch-hello view in emacs
> >   #+end_example
> > 
> > This can lead to situations reminiscent of "dependency hell", so instead
> > of returning based on each individual `test_require_external_prereq's exit
> > status, we now do so by checking $test_subtest_missing_external_prereqs_:
> > 
> >   #+begin_example
> > emacs: Testing emacs interface
> >  missing prerequisites: [0]  dtach(1) emacs(1) emacsclient(1)
> >  skipping test: [0]  Basic notmuch-hello view in emacs
> >  SKIP   [0]  Basic notmuch-hello view in emacs
> >   #+end_example
> > 
> > Also add missing prereq for dtach(1).
> > 
> > ---
> >  test/test-lib.sh |6 --
> >  1 files changed, 4 insertions(+), 2 deletions(-)
> > 
> > diff --git a/test/test-lib.sh b/test/test-lib.sh
> > index 82767c0..6ec3882 100644
> > --- a/test/test-lib.sh
> > +++ b/test/test-lib.sh
> > @@ -907,8 +907,10 @@ EOF
> >  
> >  test_emacs () {
> > # test dependencies beforehand to avoid the waiting loop below
> > -   test_require_external_prereq emacs || return
> > -   test_require_external_prereq emacsclient || return
> > +   test_require_external_prereq dtach
> > +   test_require_external_prereq emacs
> > +   test_require_external_prereq emacsclient
> > +   test -z "$test_subtest_missing_external_prereqs_" || return
> 
> There may be other missing dependencies before test_emacs() is called
> and $test_subtest_missing_external_prereqs_ would not be blank.  [...]

True, hadn't though of that...

> [...] Also, I
> would like to keep the number of functions that use
> $test_subtest_missing_external_prereqs_ minimal.  [...]

Could you elaborate on that?

> [...] How about:
> 
>   missing_dependencies=
>   test_require_... dtach || missing_dependencies=1
>   test_require_... emacs || missing_dependencies=1
>   ...
>   test -z "$missing_dependencies" || return
> 

Agreed!  Patch follows.

> Regards,
>   Dmitry
> 
> >  
> > if [ -z "$EMACS_SERVER" ]; then
> > server_name="notmuch-test-suite-$$"
> > -- 
> > 1.7.8.1
> > 


Peace

-- 
Pieter


[PATCH] test: don't bail out of `run_emacs' too early when missing prereqs

2012-01-14 Thread Pieter Praet
When running the Emacs tests in verbose mode, only the first missing
prereq is reported because the `run_emacs' function is short-circuited
early:

  #+begin_example
emacs: Testing emacs interface
 missing prerequisites: [0]  emacs(1)
 skipping test: [0]  Basic notmuch-hello view in emacs
 SKIP   [0]  Basic notmuch-hello view in emacs
  #+end_example

This can lead to situations reminiscent of dependency hell, so instead
of returning based on each individual `test_require_external_prereq's exit
status, we now do so only after checking all the prereqs:

  #+begin_example
emacs: Testing emacs interface
 missing prerequisites: [0]  dtach(1) emacs(1) emacsclient(1)
 skipping test: [0]  Basic notmuch-hello view in emacs
 SKIP   [0]  Basic notmuch-hello view in emacs
  #+end_example

Also added missing prereq for dtach(1).
---
 test/test-lib.sh |7 +--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/test/test-lib.sh b/test/test-lib.sh
index 82767c0..d1fbc05 100644
--- a/test/test-lib.sh
+++ b/test/test-lib.sh
@@ -907,8 +907,11 @@ EOF
 
 test_emacs () {
# test dependencies beforehand to avoid the waiting loop below
-   test_require_external_prereq emacs || return
-   test_require_external_prereq emacsclient || return
+   missing_dependencies=
+   test_require_external_prereq dtach || missing_dependencies=1
+   test_require_external_prereq emacs || missing_dependencies=1
+   test_require_external_prereq emacsclient || missing_dependencies=1
+   test -z $missing_dependencies || return
 
if [ -z $EMACS_SERVER ]; then
server_name=notmuch-test-suite-$$
-- 
1.7.8.1

___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


[PATCH] test: don't bail out of `run_emacs' too early when missing prereqs

2012-01-12 Thread Dmitry Kurochkin
On Thu, 12 Jan 2012 18:16:59 +0100, Pieter Praet  wrote:
> When running the Emacs tests in verbose mode, only the first missing
> prereq is reported because the `run_emacs' function is short-circuited
> early:
> 
>   #+begin_example
> emacs: Testing emacs interface
>  missing prerequisites: [0]  emacs(1)
>  skipping test: [0]  Basic notmuch-hello view in emacs
>  SKIP   [0]  Basic notmuch-hello view in emacs
>   #+end_example
> 
> This can lead to situations reminiscent of "dependency hell", so instead
> of returning based on each individual `test_require_external_prereq's exit
> status, we now do so by checking $test_subtest_missing_external_prereqs_:
> 
>   #+begin_example
> emacs: Testing emacs interface
>  missing prerequisites: [0]  dtach(1) emacs(1) emacsclient(1)
>  skipping test: [0]  Basic notmuch-hello view in emacs
>  SKIP   [0]  Basic notmuch-hello view in emacs
>   #+end_example
> 
> Also add missing prereq for dtach(1).
> 
> ---
>  test/test-lib.sh |6 --
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/test/test-lib.sh b/test/test-lib.sh
> index 82767c0..6ec3882 100644
> --- a/test/test-lib.sh
> +++ b/test/test-lib.sh
> @@ -907,8 +907,10 @@ EOF
>  
>  test_emacs () {
>   # test dependencies beforehand to avoid the waiting loop below
> - test_require_external_prereq emacs || return
> - test_require_external_prereq emacsclient || return
> + test_require_external_prereq dtach
> + test_require_external_prereq emacs
> + test_require_external_prereq emacsclient
> + test -z "$test_subtest_missing_external_prereqs_" || return

There may be other missing dependencies before test_emacs() is called
and $test_subtest_missing_external_prereqs_ would not be blank.  Also, I
would like to keep the number of functions that use
$test_subtest_missing_external_prereqs_ minimal.  How about:

  missing_dependencies=
  test_require_... dtach || missing_dependencies=1
  test_require_... emacs || missing_dependencies=1
  ...
  test -z "$missing_dependencies" || return

Regards,
  Dmitry

>  
>   if [ -z "$EMACS_SERVER" ]; then
>   server_name="notmuch-test-suite-$$"
> -- 
> 1.7.8.1
> 


[PATCH] test: don't bail out of `run_emacs' too early when missing prereqs

2012-01-12 Thread Pieter Praet
When running the Emacs tests in verbose mode, only the first missing
prereq is reported because the `run_emacs' function is short-circuited
early:

  #+begin_example
emacs: Testing emacs interface
 missing prerequisites: [0]  emacs(1)
 skipping test: [0]  Basic notmuch-hello view in emacs
 SKIP   [0]  Basic notmuch-hello view in emacs
  #+end_example

This can lead to situations reminiscent of "dependency hell", so instead
of returning based on each individual `test_require_external_prereq's exit
status, we now do so by checking $test_subtest_missing_external_prereqs_:

  #+begin_example
emacs: Testing emacs interface
 missing prerequisites: [0]  dtach(1) emacs(1) emacsclient(1)
 skipping test: [0]  Basic notmuch-hello view in emacs
 SKIP   [0]  Basic notmuch-hello view in emacs
  #+end_example

Also add missing prereq for dtach(1).

---
 test/test-lib.sh |6 --
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/test/test-lib.sh b/test/test-lib.sh
index 82767c0..6ec3882 100644
--- a/test/test-lib.sh
+++ b/test/test-lib.sh
@@ -907,8 +907,10 @@ EOF

 test_emacs () {
# test dependencies beforehand to avoid the waiting loop below
-   test_require_external_prereq emacs || return
-   test_require_external_prereq emacsclient || return
+   test_require_external_prereq dtach
+   test_require_external_prereq emacs
+   test_require_external_prereq emacsclient
+   test -z "$test_subtest_missing_external_prereqs_" || return

if [ -z "$EMACS_SERVER" ]; then
server_name="notmuch-test-suite-$$"
-- 
1.7.8.1



Re: [PATCH] test: don't bail out of `run_emacs' too early when missing prereqs

2012-01-12 Thread Dmitry Kurochkin
On Thu, 12 Jan 2012 18:16:59 +0100, Pieter Praet pie...@praet.org wrote:
 When running the Emacs tests in verbose mode, only the first missing
 prereq is reported because the `run_emacs' function is short-circuited
 early:
 
   #+begin_example
 emacs: Testing emacs interface
  missing prerequisites: [0]  emacs(1)
  skipping test: [0]  Basic notmuch-hello view in emacs
  SKIP   [0]  Basic notmuch-hello view in emacs
   #+end_example
 
 This can lead to situations reminiscent of dependency hell, so instead
 of returning based on each individual `test_require_external_prereq's exit
 status, we now do so by checking $test_subtest_missing_external_prereqs_:
 
   #+begin_example
 emacs: Testing emacs interface
  missing prerequisites: [0]  dtach(1) emacs(1) emacsclient(1)
  skipping test: [0]  Basic notmuch-hello view in emacs
  SKIP   [0]  Basic notmuch-hello view in emacs
   #+end_example
 
 Also add missing prereq for dtach(1).
 
 ---
  test/test-lib.sh |6 --
  1 files changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/test/test-lib.sh b/test/test-lib.sh
 index 82767c0..6ec3882 100644
 --- a/test/test-lib.sh
 +++ b/test/test-lib.sh
 @@ -907,8 +907,10 @@ EOF
  
  test_emacs () {
   # test dependencies beforehand to avoid the waiting loop below
 - test_require_external_prereq emacs || return
 - test_require_external_prereq emacsclient || return
 + test_require_external_prereq dtach
 + test_require_external_prereq emacs
 + test_require_external_prereq emacsclient
 + test -z $test_subtest_missing_external_prereqs_ || return

There may be other missing dependencies before test_emacs() is called
and $test_subtest_missing_external_prereqs_ would not be blank.  Also, I
would like to keep the number of functions that use
$test_subtest_missing_external_prereqs_ minimal.  How about:

  missing_dependencies=
  test_require_... dtach || missing_dependencies=1
  test_require_... emacs || missing_dependencies=1
  ...
  test -z $missing_dependencies || return

Regards,
  Dmitry

  
   if [ -z $EMACS_SERVER ]; then
   server_name=notmuch-test-suite-$$
 -- 
 1.7.8.1
 
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch