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 e79b2aec1428de9bab7aa718fb2296b947f0ff90..4cba2182447b7ef292f8ca02c48b8c08dc002fa2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+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.
index 4cf15f2112623b6d6e94b695132e81fbb2a4a653..dfed076060da1a21466ac71230bd1e3976af99ec 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 039a81976c118bedfa78d4ab462d921588465334..a80373dc498a438f90feccd626c64a6090b8d677 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