]> gitweb.michael.orlitzky.com - dunshire.git/commitdiff
Fix the test script to appease pylint.
authorMichael Orlitzky <michael@orlitzky.com>
Sun, 13 Nov 2016 20:17:45 +0000 (15:17 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Sun, 13 Nov 2016 20:19:27 +0000 (15:19 -0500)
test/__main__.py

index d03b7a6968504f2b941cb4dd223a13676565e32b..d4ef145caa663c78d6d4e1891b031b61d56d152b 100755 (executable)
@@ -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))