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
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
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