[PATCH] test: don't bail out of `run_emacs' too early when missing prereqs
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
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
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
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
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
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
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
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
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
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
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
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
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
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