diff --git a/lib/matplotlib/testing/nose/__init__.py b/lib/matplotlib/testing/nose/__init__.py index 0d4f1e19e100..d513c7b14f4b 100644 --- a/lib/matplotlib/testing/nose/__init__.py +++ b/lib/matplotlib/testing/nose/__init__.py @@ -1,6 +1,8 @@ from __future__ import (absolute_import, division, print_function, unicode_literals) +import sys + def get_extra_test_plugins(): from .plugins.performgc import PerformGC @@ -29,12 +31,16 @@ def check_deps(): raise -def test(verbosity=None, coverage=False, switch_backend_warn=True, **kwargs): +def test(verbosity=None, coverage=False, switch_backend_warn=True, + recursionlimit=0, **kwargs): from ... import default_test_modules, get_backend, use old_backend = get_backend() + old_recursionlimit = sys.getrecursionlimit() try: use('agg') + if recursionlimit: + sys.setrecursionlimit(recursionlimit) import nose from nose.plugins import multiprocess @@ -60,6 +66,8 @@ def test(verbosity=None, coverage=False, switch_backend_warn=True, **kwargs): finally: if old_backend.lower() != 'agg': use(old_backend, warn=switch_backend_warn) + if recursionlimit: + sys.setrecursionlimit(old_recursionlimit) return success diff --git a/tests.py b/tests.py index 01c48d0d8f35..5845d976782f 100755 --- a/tests.py +++ b/tests.py @@ -25,6 +25,8 @@ help='Run tests without network connection') parser.add_argument('-j', type=int, help='Shortcut for specifying number of test processes') + parser.add_argument('--recursionlimit', type=int, default=0, + help='Specify recursionlimit for test run') args, extra_args = parser.parse_known_args() if args.no_pep8: @@ -43,5 +45,6 @@ print('Python byte-compilation optimization level: %d' % sys.flags.optimize) - success = test(argv=sys.argv[0:1] + extra_args, switch_backend_warn=False) + success = test(argv=sys.argv[0:1] + extra_args, switch_backend_warn=False, + recursionlimit=args.recursionlimit) sys.exit(not success) 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