Permalink
executable file 48 lines (40 sloc) 1.63 KB
#!/usr/bin/env python
#
# This allows running the matplotlib tests from the command line: e.g.
#
# $ python tests.py -v -d
#
# The arguments are identical to the arguments accepted by nosetests.
#
# See https://nose.readthedocs.org/ for a detailed description of
# these options.
import sys
import argparse
if __name__ == '__main__':
from matplotlib import default_test_modules, test
parser = argparse.ArgumentParser(add_help=False)
parser.add_argument('--no-pep8', action='store_true',
help='Run all tests except PEP8 testing')
parser.add_argument('--pep8', action='store_true',
help='Run only PEP8 testing')
parser.add_argument('--no-network', action='store_true',
help='Run tests without network connection')
parser.add_argument('-j', type=int,
help='Shortcut for specifying number of test processes')
args, extra_args = parser.parse_known_args()
if args.no_pep8:
default_test_modules.remove('matplotlib.tests.test_coding_standards')
elif args.pep8:
default_test_modules[:] = ['matplotlib.tests.test_coding_standards']
if args.no_network:
from matplotlib.testing import disable_internet
disable_internet.turn_off_internet()
extra_args.extend(['-a', '!network'])
if args.j:
extra_args.extend([
'--processes={}'.format(args.j),
'--process-timeout=300'
])
print('Python byte-compilation optimization level: %d' % sys.flags.optimize)
success = test(argv=sys.argv[0:1] + extra_args, switch_backend_warn=False)
sys.exit(not success)