From 61befafddd6a40cad46bd15508e4cbda66df35f2 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sun, 13 Nov 2016 15:17:45 -0500 Subject: [PATCH] Fix the test script to appease pylint. --- test/__main__.py | 70 ++++++++++++++++++++++++++++-------------------- 1 file changed, 41 insertions(+), 29 deletions(-) diff --git a/test/__main__.py b/test/__main__.py index d03b7a6..d4ef145 100755 --- a/test/__main__.py +++ b/test/__main__.py @@ -6,32 +6,44 @@ from sys import argv from test import build_suite, run_suite -# We take two command-line arguments. The first enables you to turn -# off the doctests, which are deterministic. The second tells us to -# repeat the test suite indefinitely rather than return the result -# of running it once. The flags usually occur together so that we -# don't waste time running the doctests in a loop. -doctests = True -loop = False - -if "--no-doctests" in argv: - doctests = False - -if "--loop" in argv: - loop = True - -# Running the test suite clobbers it! And deepcopy() doesn't work on a -# suite that contains doctests! ARRRGRRGRRGRHG!!!!!! You're all idiots. -result = run_suite(build_suite(doctests)) - -if result.wasSuccessful() and not loop: - exit(0) - -if loop: - passed = 0 - while(result.wasSuccessful()): - print('Passed: {:d}'.format(passed)) - passed += 1 - result = run_suite(build_suite(doctests)) - -exit(1) + +def main(doctests, loop): + """ + The main function for this module. It runs the tests. + + We take two command-line arguments. The first enables you to turn + off the doctests, which are deterministic. The second tells us to + repeat the test suite indefinitely rather than return the result of + running it once. The flags usually occur together so that we don't + waste time running the doctests in a loop. + + Parameters + ---------- + + doctests : bool + Do you want to run the doctests? + + loop : bool + Do you want to loop and rerun the tests indefinitely? + + """ + # Running the test suite clobbers it! And deepcopy() doesn't work + # on a suite that contains doctests! ARRRGRRGRRGRHG!!!!!! You're all + # idiots. + result = run_suite(build_suite(doctests)) + + if result.wasSuccessful() and not loop: + return 0 + + if loop: + passed = 0 + while result.wasSuccessful(): + print('Passed: {:d}'.format(passed)) + passed += 1 + result = run_suite(build_suite(doctests)) + + return 1 + + +if __name__ == '__main__': + exit(main(not "--no-doctests" in argv, '--loop' in argv)) -- 2.43.2