summaryrefslogtreecommitdiff
path: root/tests/stackovf.test
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2021-05-07 14:47:04 -0500
committerEric Blake <eblake@redhat.com>2021-05-07 14:47:04 -0500
commit0b98fb45910bba58a0a64192443b1d71fbf19ecf (patch)
tree7c751929d43352234572cfe4d770c944b7c9b2c8 /tests/stackovf.test
parentd69fa5284851b2b7aac25ffac638b6b379994db5 (diff)
downloadm4-0b98fb45910bba58a0a64192443b1d71fbf19ecf.tar.gz
maint: Redirect developers to active branch
_This_ branch does not contain actively-developed code. More likely, you want to check out branch-1.4 (latest stable), branch-1.6 (some speedups over 1.4, but not yet released), or branch-2.0 (many more experimental changes, and even further from release). * README: Document the status of this git repository.
Diffstat (limited to 'tests/stackovf.test')
-rwxr-xr-xtests/stackovf.test105
1 files changed, 0 insertions, 105 deletions
diff --git a/tests/stackovf.test b/tests/stackovf.test
deleted file mode 100755
index d57fc0f0..00000000
--- a/tests/stackovf.test
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/bin/sh
-# This file is part of the GNU m4 testsuite
-# Copyright (C) 2000, 2003, 2007, 2010, 2013-2014, 2017 Free Software
-# Foundation, Inc.
-#
-# This file is part of GNU M4.
-#
-# GNU M4 is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# GNU M4 is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-exit 77
-
-# Script to verify that stack overflow is diagnosed properly when
-# there is infinite macro call nesting.
-# (causes coredump in m4-1.0.3)
-
-# On some systems the ulimit command is available in ksh or bash but not sh
-(exec 2>/dev/null; ulimit -HSs 300) || {
- for altshell in bash bsh ksh ; do
- if (exec >/dev/null 2>&1; $altshell -c 'ulimit -HSs 300') &&
- test -z "$1"
- then
- echo "Using $altshell because it supports ulimit"
- exec $altshell $0 running-with-$altshell
- exit 9
- fi
- done
-}
-
-PATH=.:..:$PATH; export PATH;
-: ${M4=../../src/m4}
-type $M4
-
-tmpfile=`tempfile 2> /dev/null` || tmpfile=/tmp/t.$$
-trap 'rm -f $tmpfile; exit 1' 1 2 3 15
-
-rm -f core
-perl -e '
-# Generate nested define sequence
-$max=1000000;
-for ($i=0; $i<$max; $i++) {
- print "define(X$i,\n";
-}
-for ($i=$max-1; $i>=0; $i--) {
- print "body with substance no. $i)dnl\n"
-}
-' | \
-(
-# Limit the stack size if the shell we are running permits it
-if (exec 2>/dev/null; ulimit -HSs 50)
-then
- (exec >/dev/null 2>&1; ulimit -v) && ulimitdashv=ok
- ulimit -HSs 50
- #ulimit -HSd 8000
- #test -n "$ulimitdashv" && ulimit -HSv 8000
- echo "Stack limit is `ulimit -s`K";
- echo "Heap limit is `ulimit -d`K";
- test -n "$ulimitdashv" &&
- echo "VMem limit is `ulimit -v`K";
-else
- echo "Can't reset stack limit - this may take a while..."
-fi
-#strace -o /tmp/aaa $M4 -L999999999 > $tmpfile 2>&1
-$M4 -L999999999 > $tmpfile 2>&1
-)
-result=$?
-{ echo "Output from $M4:"; cat $tmpfile; }
-
-exitcode=1
-if test $result -eq 0 ; then
- echo "TEST DID NOT WORK - m4 did not abort. Output:"
-else
- # See if stack overflow was diagnosed
- case "`cat $tmpfile`" in
- *overflow*)
- echo "Test succeeded.";
- exitcode=0
- ;;
- *ut*of*emory*|*emory*xhausted)
- echo "*** Test is INCONCLUSIVE (ran out of heap before stack overflow)";
- ;;
- *) echo "*** Test FAILED. $M4 aborted unexpectedly. Output:";
- ;;
- esac
-fi
-
-if test -f core ; then
- ls -l core
- exitcode=1
-fi
-
-#(test $exitcode -ne 0) &&
- { echo "Output from $M4:"; cat $tmpfile; }
-
-exit $exitcode