From ca8dcee8291b847b6a9443464a273a118f45c4f3 Mon Sep 17 00:00:00 2001 From: Benjamin Congdon Date: Sat, 29 Oct 2016 19:00:32 -0500 Subject: [PATCH 1/5] Added `-j` shortcut for `--processes=` --- .travis.yml | 2 +- tests.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d6f2154a6e4..9075ee6a8ff 100644 --- a/.travis.yml +++ b/.travis.yml @@ -44,7 +44,7 @@ env: - PANDAS= - NPROC=2 - TEST_ARGS=--no-pep8 - - NOSE_ARGS="--processes=$NPROC --process-timeout=300" + - NOSE_ARGS="-j $NPROC" - PYTEST_ARGS="-ra --timeout=300 --durations=25 --cov-report= --cov=lib" # -n $NPROC - PYTHON_ARGS= - DELETE_FONT_CACHE= diff --git a/tests.py b/tests.py index d6c179ed31e..cf972f8ee82 100755 --- a/tests.py +++ b/tests.py @@ -28,6 +28,14 @@ disable_internet.turn_off_internet() extra_args.extend(['-a', '!network']) sys.argv.remove('--no-network') + if '-j' in sys.argv: + nproc = sys.argv[sys.argv.index('-j') + 1] + extra_args.extend([ + '--processes={}'.format(int(nproc)), + '--process-timeout=300' + ]) + sys.argv.remove('-j') + sys.argv.remove(nproc) print('Python byte-compilation optimization level: %d' % sys.flags.optimize) From 57068760c9e874f773dd11108c0e5ba7c4592ee7 Mon Sep 17 00:00:00 2001 From: Benjamin Congdon Date: Sat, 29 Oct 2016 19:30:27 -0500 Subject: [PATCH 2/5] Refactored tests.py with `argparse` --- tests.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/tests.py b/tests.py index cf972f8ee82..d57d33f5343 100755 --- a/tests.py +++ b/tests.py @@ -10,6 +10,7 @@ # these options. import sys +import argparse if __name__ == '__main__': @@ -17,25 +18,31 @@ extra_args = [] - if '--no-pep8' in sys.argv: + parser = argparse.ArgumentParser() + parser.add_argument('--no-pep8', action="store_true") + parser.add_argument('--pep8', action="store_true") + parser.add_argument('--no-network', action="store_true") + parser.add_argument('-j', type=int) + args = parser.parse_args() + + if args.no_pep8: default_test_modules.remove('matplotlib.tests.test_coding_standards') sys.argv.remove('--no-pep8') - elif '--pep8' in sys.argv: + elif args.pep8: default_test_modules[:] = ['matplotlib.tests.test_coding_standards'] sys.argv.remove('--pep8') - if '--no-network' in sys.argv: + if args.no_network: from matplotlib.testing import disable_internet disable_internet.turn_off_internet() extra_args.extend(['-a', '!network']) sys.argv.remove('--no-network') - if '-j' in sys.argv: - nproc = sys.argv[sys.argv.index('-j') + 1] + if args.j: extra_args.extend([ - '--processes={}'.format(int(nproc)), + '--processes={}'.format(args.j), '--process-timeout=300' ]) + sys.argv.pop(sys.argv.index('-j') + 1) sys.argv.remove('-j') - sys.argv.remove(nproc) print('Python byte-compilation optimization level: %d' % sys.flags.optimize) From dcb84d288b38596291e33fe0adb7e2b059054105 Mon Sep 17 00:00:00 2001 From: Benjamin Congdon Date: Sun, 30 Oct 2016 14:34:25 -0500 Subject: [PATCH 3/5] Add help texts for tests.py arguments --- tests.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests.py b/tests.py index d57d33f5343..740a4440ca4 100755 --- a/tests.py +++ b/tests.py @@ -19,10 +19,14 @@ extra_args = [] parser = argparse.ArgumentParser() - parser.add_argument('--no-pep8', action="store_true") - parser.add_argument('--pep8', action="store_true") - parser.add_argument('--no-network', action="store_true") - parser.add_argument('-j', type=int) + 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 = parser.parse_args() if args.no_pep8: From 76be64a890a60fdd18b5b609e3af5553d2182eea Mon Sep 17 00:00:00 2001 From: Benjamin Congdon Date: Sat, 5 Nov 2016 16:01:02 -0500 Subject: [PATCH 4/5] Add add_help=False to argparser --- tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests.py b/tests.py index 740a4440ca4..e687e3dca52 100755 --- a/tests.py +++ b/tests.py @@ -18,7 +18,7 @@ extra_args = [] - parser = argparse.ArgumentParser() + 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', From 7f29efedf66e21a9dcc7017f11579b07f51dbfa0 Mon Sep 17 00:00:00 2001 From: Benjamin Congdon Date: Tue, 8 Nov 2016 06:13:32 -0600 Subject: [PATCH 5/5] =?UTF-8?q?Fix=20passthrough=20args=20like=20`?= =?UTF-8?q?=E2=80=94with-coverage`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests.py b/tests.py index e687e3dca52..128f7a6ad5d 100755 --- a/tests.py +++ b/tests.py @@ -16,8 +16,6 @@ if __name__ == '__main__': from matplotlib import default_test_modules, test - extra_args = [] - parser = argparse.ArgumentParser(add_help=False) parser.add_argument('--no-pep8', action='store_true', help='Run all tests except PEP8 testing') @@ -27,7 +25,7 @@ help='Run tests without network connection') parser.add_argument('-j', type=int, help='Shortcut for specifying number of test processes') - args = parser.parse_args() + args, extra_args = parser.parse_known_args() if args.no_pep8: default_test_modules.remove('matplotlib.tests.test_coding_standards')