changeset 29971:692a981ba50c

Test must fail if libsigsegv could not distinguish stack overflow and crash.
author Bruno Haible <bruno@clisp.org>
date Mon, 21 Jul 2008 01:03:26 +0200
parents 80e68105bdda
children 405a4dfddd17
files ChangeLog modules/c-stack-tests tests/test-c-stack2.sh
diffstat 3 files changed, 17 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sun Jul 20 18:25:12 2008 +0200
+++ b/ChangeLog	Mon Jul 21 01:03:26 2008 +0200
@@ -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.
--- a/modules/c-stack-tests	Sun Jul 20 18:25:12 2008 +0200
+++ b/modules/c-stack-tests	Mon Jul 21 01:03:26 2008 +0200
@@ -10,7 +10,7 @@
 
 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
--- a/tests/test-c-stack2.sh	Sun Jul 20 18:25:12 2008 +0200
+++ b/tests/test-c-stack2.sh	Mon Jul 21 01:03:26 2008 +0200
@@ -11,11 +11,18 @@
 
 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