Hi Eric, * Eric Blake wrote on Mon, Aug 30, 2010 at 06:32:37PM CEST: > --- c/tests/torture.at > +++ w/tests/torture.at
> +AT_CHECK_MACRO([AC_CONFIG_COMMANDS with temporary directory], > +[[AC_CONFIG_COMMANDS([foo], [ > +case $ACTION in > + use) > + echo "$tmp" > tmpdir > + test -d "$tmp" || AC_MSG_ERROR([No $tmp directory]) > + echo garbage-in > "$tmp/garbage-out" > + ;; > + corrupt) > + echo "$tmp" > tmpdir > + tmp=/nosuch This isn't without danger, as two undesirable things can happen when some code in config.status does try to write to $tmp after this: first, the user compiling as root might be annoyed at extra junk in /, second, some user with a security-enhanced distribution (forgot which, sorry) may report that Autoconf tried to violate its allowed name space. I don't recall which of the autotools I saw such a report for. Cheers, Ralf > + ;; > + *) ;; > +esac > +]) > +]], [ > +AT_CHECK([test ! -f tmpdir]) > +AT_CHECK([ACTION=use ./config.status], [], [ignore]) > +AT_CHECK([test -s tmpdir && test ! -d "`cat tmpdir`"]) > +AT_CHECK([ACTION=corrupt ./config.status], [], [ignore]) > +AT_CHECK([test -s tmpdir && test ! -d "`cat tmpdir`"])
