On Max OSX, try increasing the stack limit to 2048 so test_re and
test_sre won't die with a SegFault.
This commit is contained in:
parent
5f7c4b34b9
commit
bb48465273
|
@ -83,6 +83,22 @@ if sys.maxint > 0x7fffffff:
|
|||
warnings.filterwarnings("ignore", "hex/oct constants", FutureWarning,
|
||||
"<string>")
|
||||
|
||||
# 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))
|
||||
|
||||
from test import test_support
|
||||
|
||||
RESOURCE_NAMES = ('curses', 'largefile', 'network', 'bsddb')
|
||||
|
|
Loading…
Reference in New Issue