The run_test shell function was running pkg-config with arguments stored
in an environment variable. This has problems when trying to pass shell
special characters with the proper escaping. Instead, pass the arguments
to the test where they can maintain correct formatting through use of
the special variable "$@".
Although the trick of finding a POSIX shell in the system PATH works
fine most of the time, it has some drawbacks.
* The commands must be copied into every test script.
* The scripts are always forced to re-execute themselves.
* There's no guarantee the sh found in `getconf PATH` is a POSIX shell
and there's no way to override it.
Move the handling of this shell to configure where we can detect it
once. This gives preference to bash and ksh since they're typically
POSIX compatible. It also uses the current PATH with the getconf PATH at
the end which should allow things to work on platforms where getconf
might not be available like mingw/msys.
By specifying the shell in TESTS_ENVIRONMENT, automake will run each
script with this shell and we can drop the re-exec dance.
* check/check-cflags, check/check-define-variable,
check/check-includedir, check/check-libs,
check/check-libs-private, check/check-requires-private: Replace
the crazy -d ~root check with a more proper way to just make sure
we are running under a POSIX shell. Thanks to Kjetil Torgrim
Homme for the tip about using getconf PATH.
Author: tfheen
Date: 2005-03-29 07:09:37 GMT
2005-03-29 Tollef Fog Heen <tfheen@err.no>
* check/check-cflags, check/check-define-variable,
check/check-libs, check/common, check/Makefile.am,
check/simple.pc: Add simple test framework and begin writing
tests.
* Makefile.am, configure.in: Make in check/ as well.