[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: autotest annoyances
From: |
Ralf Wildenhues |
Subject: |
Re: autotest annoyances |
Date: |
Sat, 8 Apr 2006 16:15:01 +0200 |
User-agent: |
Mutt/1.5.9i |
Hi Eric,
* Eric Blake wrote on Sat, Apr 08, 2006 at 03:16:33AM CEST:
> While testing my previous patch for const/volatile vs. -Werror, I encountered
> two autotest anomalies. I first enhanced the testsuite to detect both
> problems, as well as my earlier patch this week for when removing
> the test group directory fails.
It's not completely obvious to me that your tests also detect the
earlier failure. Is that because they happen to use `./run' at all?
If so, then that is ok.
> The first bug was that when using the -d option to testsuite (which is done by
> all the testsuite.dir/###/run scripts), the run script was only regenerated
> if the test failed (it was missing after a success or skip).
Hmm. Both `./testsuite --help' and the documentation state explicitly
that `-d' prevents creation of the `run' script in the first place.
I see that this may not be the best idea to keep that, since I don't
know why using `./run' once should not be idempotent, i.e., result in
the same state after rerunning the test. But anyway the documentation
needs to be fixed; but first we should come up with a sane set of
semantics.
> The second bug is that environment variables passed as options to ./testsuite
> are copied directly into the run scripts, but without regards for shell
> metacharacters. That means that an environment variable that contains
> spaces, such as "./run CFLAGS='-std=c89 -Werror'", will regenerate a broken
> run script that tries to invoke 'testsuite CFLAGS=-std=c89 -Werror'. However,
> fixing this quickly and safely is beyond my abilities, with a pending alpha
> release, so the test is just xfailed for now.
This could be fixed similarly to how lib/autoconf/general.m4 quotes
the contents of ac_configure_args selectively for config.status.
A bit tricky, but it's possible. (It's not safe against all kinds
of uses of backslashes; that would require searching for an echo
replacement like Libtool does.)
Cheers,
Ralf