Test must fail if libsigsegv could not distinguish stack overflow and crash.
authorBruno Haible <bruno@clisp.org>
Sun, 20 Jul 2008 23:03:26 +0000 (01:03 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 20 Jul 2008 23:03:26 +0000 (01:03 +0200)
ChangeLog
modules/c-stack-tests
tests/test-c-stack2.sh

index e79b2ae..4cba218 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2008-07-20  Bruno Haible  <bruno@clisp.org>
 
+       * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
+       TESTS_ENVIRONMENT.
+       * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
+
+2008-07-20  Bruno Haible  <bruno@clisp.org>
+
        * lib/c-stack.h (c_stack_action): Add documentation.
        * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
 
index 4cf15f2..dfed076 100644 (file)
@@ -10,7 +10,7 @@ configure.ac:
 
 Makefile.am:
 TESTS += test-c-stack.sh test-c-stack2.sh
-TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@'
+TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' LIBSIGSEGV='@LIBSIGSEGV@'
 check_PROGRAMS += test-c-stack
 test_c_stack_LDADD = $(LDADD) $(LIBCSTACK) @LIBINTL@
 MOSTLYCLEANFILES += t-c-stack.tmp t-c-stack2.tmp
index 039a819..a80373d 100755 (executable)
@@ -11,11 +11,18 @@ tmpfiles="t-c-stack2.tmp"
 
 case $? in
   77) if grep 'stack overflow' t-c-stack2.tmp >/dev/null ; then
-       echo 'cannot tell stack overflow from crash; consider installing libsigsegv' >&2
+       if test -z "$LIBSIGSEGV"; then
+         echo 'cannot tell stack overflow from crash; consider installing libsigsegv' >&2
+         exit 77
+       else
+         echo 'cannot tell stack overflow from crash, in spite of libsigsegv' >&2
+         exit 1
+       fi
       else
-       cat t-c-stack2.tmp >&2
+       cat t-c-stack2.tmp >&2
+       exit 77
       fi
-      (exit 77); exit 77 ;;
+      ;;
   0) (exit 1); exit 1 ;;
 esac
 if grep 'program error' t-c-stack2.tmp >/dev/null ; then