summaryrefslogtreecommitdiff
path: root/igor.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2012-07-11 08:23:12 -0400
committerNed Batchelder <ned@nedbatchelder.com>2012-07-11 08:23:12 -0400
commit33035f76f086bf4e50b40437c99b40db4c7b9aa6 (patch)
treed2f90cd46e4ec7d759a6d87397557cf70f2a48c4 /igor.py
parentabc6cbef1ecaee5a216f2c79edc89e352f2747b3 (diff)
downloadpython-coveragepy-git-33035f76f086bf4e50b40437c99b40db4c7b9aa6.tar.gz
Make igor more respectable.
Diffstat (limited to 'igor.py')
-rw-r--r--igor.py38
1 files changed, 30 insertions, 8 deletions
diff --git a/igor.py b/igor.py
index efbe8a0f..3f1a34ac 100644
--- a/igor.py
+++ b/igor.py
@@ -1,10 +1,17 @@
+"""Helper for building, testing, and linting coverage.py.
+
+To get portability, all these operations are written in Python here instead
+of in shell scripts, batch files, or Makefiles.
+
+"""
+
import os
import sys
import zipfile
-from nose import core as nose_core
+def do_remove_extension(args):
+ """Remove the compiled C extension, no matter what its name."""
-if sys.argv[1] == "remove_extension":
so_names = """
tracer.so
tracer.cpython-32m.so
@@ -16,10 +23,25 @@ if sys.argv[1] == "remove_extension":
except OSError:
pass
-elif sys.argv[1] == "test_with_tracer":
- os.environ["COVERAGE_TEST_TRACER"] = sys.argv[2]
- del sys.argv[1:3]
- nose_core.main()
+def do_test_with_tracer(args):
+ """Run nosetests with a particular tracer."""
+ import nose.core
+ os.environ["COVERAGE_TEST_TRACER"] = args[0]
+ nose_args = ["nosetests"] + args[1:]
+ nose.core.main(argv=nose_args)
+
+def do_zip_mods(args):
+ """Build the zipmods.zip file."""
+ zf = zipfile.ZipFile("test/zipmods.zip", "w")
+ zf.write("test/covmodzip1.py", "covmodzip1.py")
+
+
+def main(args):
+ handler = globals().get('do_'+args[0])
+ if handler is None:
+ print("*** No handler for %r" % args[0])
+ return 1
+ return handler(args[1:])
-elif sys.argv[1] == "zip_mods":
- zipfile.ZipFile("test/zipmods.zip", "w").write("test/covmodzip1.py", "covmodzip1.py")
+if __name__ == '__main__':
+ sys.exit(main(sys.argv[1:]))