summaryrefslogtreecommitdiff
path: root/tests/test-verify.sh
diff options
context:
space:
mode:
authorManuel A. Fernandez Montecelo <manuel.montezelo@gmail.com>2016-05-27 14:35:40 +0100
committerManuel A. Fernandez Montecelo <manuel.montezelo@gmail.com>2016-05-27 14:35:40 +0100
commitb1de003dac299705a7f01c997d2b866bafe39926 (patch)
tree1cc16a3877e945116387a380f7f3023f81fa36e4 /tests/test-verify.sh
parent752fd7247bc223bcea35bd89cf56d1c08ead9ba6 (diff)
parent3590c846d4c2febbc05b4ad6b14a06edc549e453 (diff)
Merge tag 'upstream/0.9.6+really0.9.6'
Upstream version 0.9.6+really0.9.6
Diffstat (limited to 'tests/test-verify.sh')
-rwxr-xr-xtests/test-verify.sh24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/test-verify.sh b/tests/test-verify.sh
new file mode 100755
index 00000000..3e767614
--- /dev/null
+++ b/tests/test-verify.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+. "${srcdir=.}/init.sh"
+
+# We are not interested in triggering bugs in the compilers and tools
+# (such as gcc 4.3.1 on openSUSE 11.0).
+unset MALLOC_PERTURB_
+
+# Rather than figure out how to invoke the compiler with the right
+# include path ourselves, we let make do it:
+(cd "$initial_cwd_" && rm -f test-verify.o \
+ && $MAKE test-verify.o >/dev/null 2>&1) \
+ || skip_ "cannot compile error-free"
+
+# Now, prove that we encounter all expected compilation failures:
+: >out
+: >err
+for i in 1 2 3 4 5; do
+ (cd "$initial_cwd_"
+ rm -f test-verify.o
+ $MAKE CFLAGS=-DEXP_FAIL=$i test-verify.o) >>out 2>>err \
+ && { warn_ "compiler didn't detect verification failure $i"; fail=1; }
+done
+
+Exit $fail