[PATCH] test: always report missing prereqs, independent of `--verbose' option

Pieter Praet pieter at praet.org
Thu Jan 19 16:24:02 PST 2012


On Wed, 18 Jan 2012 15:53:59 +0200, Tomi Ollila <tomi.ollila at iki.fi> wrote:
> On Wed, 18 Jan 2012 13:19:41 +0100, Pieter Praet <pieter at praet.org> wrote:
> > When tests are skipped due to missing prereqs, those prereqs are only
> > displayed when running with the `--verbose' option.  This is essential
> > information when troubleshooting, so always send to stdout.
> > 
> > ---
> 
> Instead of this the test suite could be enchanged so that
> full log of the execution is stored somewhere and path
> to that file is displayed at the end of test. Generally,
> all output could stay available after tests exit so that
> those could be investigated furtner.
> 

Indeed.  AFAIK, this used to be possible using the `--tee' option,
but the files it produces appear to be deleted when the tests finish.

> (I tried to grep 'missing prerequisites' after running test
> but did not find the info. the file opened for >&3 has been
> deleted already?)
> 

Hmmm, odd.

Are you sure you were using my patch and/or the `--verbose' option?

Works here, using this highly sophisticated Emacs-hiding wizardry:

  #+begin_src sh
    sudo mv /usr/bin/emacs /usr/bin/emacs.bak
    make test | grep 'missing prerequisites'
    sudo mv /usr/bin/emacs.bak /usr/bin/emacs
  #+end_src

(patent pending... ;)

> Now I just see huge amounts of missing prerequisites: emacs(1)
> in my output (I presume that doesn't happen due to my
> hack to "hide" emacs).
> 

When using my patch, you mean?

Most likely because "$test_subtest_missing_external_prereqs_" is only
reset at the beginning of every test series, so if an Emacs-dependent
subtest is skipped, all subsequent skipped subtests will report that
dependency as well, even if they were skipped due to a missing vi :).

> But well, I'm not against applying this patch -- just that
> the test system starts to get so rotten touching it gives
> shivers...
> 

I wouldn't say it's getting rotten, but yeah, "tread lightly" should
probably be mandatory advice to those aspiring to explore its bowels...

> Tomi
> 
> > 
> >  test/test-lib.sh |    4 ++--
> >  1 files changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/test/test-lib.sh b/test/test-lib.sh
> > index d1fbc05..6560628 100644
> > --- a/test/test-lib.sh
> > +++ b/test/test-lib.sh
> > @@ -673,8 +673,8 @@ test_skip () {
> >  
> >  test_check_missing_external_prereqs_ () {
> >  	if test -n "$test_subtest_missing_external_prereqs_"; then
> > -		say_color skip >&3 "missing prerequisites:"
> > -		echo "$test_subtest_missing_external_prereqs_" >&3
> > +		say_color skip >&1 "missing prerequisites:"
> > +		echo "$test_subtest_missing_external_prereqs_" >&1
> >  		test_report_skip_ "$@"
> >  	else
> >  		false
> > -- 
> > 1.7.8.1


Peace

-- 
Pieter


More information about the notmuch mailing list