Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d5132fc

Browse files
authored
Merge pull request #7843 from matthew-brett/master
MAINT: add ability to specify recursionlimit
2 parents e2e4cc5 + c013ed7 commit d5132fc

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

lib/matplotlib/testing/nose/__init__.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
from __future__ import (absolute_import, division, print_function,
22
unicode_literals)
33

4+
import sys
5+
46

57
def get_extra_test_plugins():
68
from .plugins.performgc import PerformGC
@@ -29,12 +31,16 @@ def check_deps():
2931
raise
3032

3133

32-
def test(verbosity=None, coverage=False, switch_backend_warn=True, **kwargs):
34+
def test(verbosity=None, coverage=False, switch_backend_warn=True,
35+
recursionlimit=0, **kwargs):
3336
from ... import default_test_modules, get_backend, use
3437

3538
old_backend = get_backend()
39+
old_recursionlimit = sys.getrecursionlimit()
3640
try:
3741
use('agg')
42+
if recursionlimit:
43+
sys.setrecursionlimit(recursionlimit)
3844
import nose
3945
from nose.plugins import multiprocess
4046

@@ -60,6 +66,8 @@ def test(verbosity=None, coverage=False, switch_backend_warn=True, **kwargs):
6066
finally:
6167
if old_backend.lower() != 'agg':
6268
use(old_backend, warn=switch_backend_warn)
69+
if recursionlimit:
70+
sys.setrecursionlimit(old_recursionlimit)
6371

6472
return success
6573

tests.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
help='Run tests without network connection')
2626
parser.add_argument('-j', type=int,
2727
help='Shortcut for specifying number of test processes')
28+
parser.add_argument('--recursionlimit', type=int, default=0,
29+
help='Specify recursionlimit for test run')
2830
args, extra_args = parser.parse_known_args()
2931

3032
if args.no_network:
@@ -39,5 +41,6 @@
3941

4042
print('Python byte-compilation optimization level: %d' % sys.flags.optimize)
4143

42-
success = test(argv=sys.argv[0:1] + extra_args, switch_backend_warn=False)
44+
success = test(argv=sys.argv[0:1] + extra_args, switch_backend_warn=False,
45+
recursionlimit=args.recursionlimit)
4346
sys.exit(not success)

0 commit comments

Comments
 (0)