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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy