From 9a5b816754fa99c1bb15662cbeb3d09a185dc92f Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Mon, 21 Jul 2008 01:03:26 +0200 Subject: [PATCH] Test must fail if libsigsegv could not distinguish stack overflow and crash. --- ChangeLog | 6 ++++++ modules/c-stack-tests | 2 +- tests/test-c-stack2.sh | 13 ++++++++++--- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index e79b2aec14..4cba218244 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-07-20 Bruno Haible + + * 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 * lib/c-stack.h (c_stack_action): Add documentation. diff --git a/modules/c-stack-tests b/modules/c-stack-tests index 4cf15f2112..dfed076060 100644 --- a/modules/c-stack-tests +++ b/modules/c-stack-tests @@ -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 diff --git a/tests/test-c-stack2.sh b/tests/test-c-stack2.sh index 039a81976c..a80373dc49 100755 --- a/tests/test-c-stack2.sh +++ b/tests/test-c-stack2.sh @@ -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 -- 2.30.2