summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Lib/test/libregrtest/setup.py16
-rw-r--r--Misc/NEWS.d/next/macOS/2019-07-02-01-06-47.bpo-34602.10d4wl.rst4
-rwxr-xr-xconfigure6
-rw-r--r--configure.ac6
4 files changed, 16 insertions, 16 deletions
diff --git a/Lib/test/libregrtest/setup.py b/Lib/test/libregrtest/setup.py
index 9a6585af9d..4362e92fbd 100644
--- a/Lib/test/libregrtest/setup.py
+++ b/Lib/test/libregrtest/setup.py
@@ -58,22 +58,6 @@ def setup_tests(ns):
if getattr(module, '__file__', None):
module.__file__ = os.path.abspath(module.__file__)
- # MacOSX (a.k.a. Darwin) has a default stack size that is too small
- # for deeply recursive regular expressions. We see this as crashes in
- # the Python test suite when running test_re.py and test_sre.py. The
- # fix is to set the stack limit to 2048.
- # This approach may also be useful for other Unixy platforms that
- # suffer from small default stack limits.
- if sys.platform == 'darwin':
- try:
- import resource
- except ImportError:
- pass
- else:
- soft, hard = resource.getrlimit(resource.RLIMIT_STACK)
- newsoft = min(hard, max(soft, 1024*2048))
- resource.setrlimit(resource.RLIMIT_STACK, (newsoft, hard))
-
if ns.huntrleaks:
unittest.BaseTestSuite._cleanup = False
diff --git a/Misc/NEWS.d/next/macOS/2019-07-02-01-06-47.bpo-34602.10d4wl.rst b/Misc/NEWS.d/next/macOS/2019-07-02-01-06-47.bpo-34602.10d4wl.rst
new file mode 100644
index 0000000000..c50ac638df
--- /dev/null
+++ b/Misc/NEWS.d/next/macOS/2019-07-02-01-06-47.bpo-34602.10d4wl.rst
@@ -0,0 +1,4 @@
+Avoid test suite failures on macOS by no longer calling resource.setrlimit
+to increase the process stack size limit at runtime. The runtime change is
+no longer needed since the interpreter is being built with a larger default
+stack size.
diff --git a/configure b/configure
index bc6894ec6f..2db11e6e86 100755
--- a/configure
+++ b/configure
@@ -9541,6 +9541,12 @@ then
# -u libsys_s pulls in all symbols in libsys
Darwin/*)
LINKFORSHARED="$extra_undefs -framework CoreFoundation"
+
+ # Issue #18075: the default maximum stack size (8MBytes) is too
+ # small for the default recursion limit. Increase the stack size
+ # to ensure that tests don't crash
+ LINKFORSHARED="-Wl,-stack_size,1000000 $LINKFORSHARED"
+
if test "$enable_framework"
then
LINKFORSHARED="$LINKFORSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
diff --git a/configure.ac b/configure.ac
index 97745aa112..e5fb7e7b0b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2708,6 +2708,12 @@ then
# -u libsys_s pulls in all symbols in libsys
Darwin/*)
LINKFORSHARED="$extra_undefs -framework CoreFoundation"
+
+ # Issue #18075: the default maximum stack size (8MBytes) is too
+ # small for the default recursion limit. Increase the stack size
+ # to ensure that tests don't crash
+ LINKFORSHARED="-Wl,-stack_size,1000000 $LINKFORSHARED"
+
if test "$enable_framework"
then
LINKFORSHARED="$LINKFORSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'