Blame gnulib-tests/test-verify.sh

Packit 33f14e
#!/bin/sh
Packit 33f14e
. "${srcdir=.}/init.sh"
Packit 33f14e
Packit 33f14e
# We are not interested in triggering bugs in the compilers and tools
Packit 33f14e
# (such as gcc 4.3.1 on openSUSE 11.0).
Packit 33f14e
unset MALLOC_PERTURB_
Packit 33f14e
Packit 33f14e
# Rather than figure out how to invoke the compiler with the right
Packit 33f14e
# include path ourselves, we let make do it:
Packit 33f14e
(cd "$initial_cwd_" \
Packit 33f14e
 && rm -f test-verify-try.o \
Packit 33f14e
 && $MAKE test-verify-try.o >/dev/null 2>&1) \
Packit 33f14e
  || skip_ "cannot compile error-free"
Packit 33f14e
Packit 33f14e
# Now, prove that we encounter all expected compilation failures:
Packit 33f14e
: >out
Packit 33f14e
: >err
Packit 33f14e
for i in 1 2 3 4 5; do
Packit 33f14e
  (cd "$initial_cwd_"
Packit 33f14e
   rm -f test-verify-try.o
Packit 33f14e
   $MAKE CFLAGS=-DEXP_FAIL=$i test-verify-try.o) >>out 2>>err \
Packit 33f14e
  && { warn_ "compiler didn't detect verification failure $i"; fail=1; }
Packit 33f14e
done
Packit 33f14e
Packit 33f14e
Exit $fail