[wwwsearch-commits] r32799 - wwwsearch/mechanize/trunk
jjlee at codespeak.net
jjlee at codespeak.net
Sun Oct 1 20:39:52 CEST 2006
Author: jjlee
Date: Sun Oct 1 20:39:51 2006
New Revision: 32799
Modified:
wwwsearch/mechanize/trunk/test.py
Log:
Add non-working test coverage support
Modified: wwwsearch/mechanize/trunk/test.py
==============================================================================
--- wwwsearch/mechanize/trunk/test.py (original)
+++ wwwsearch/mechanize/trunk/test.py Sun Oct 1 20:39:51 2006
@@ -58,7 +58,6 @@
self.testLoader = testLoader
self.progName = os.path.basename(argv[0])
self.parseArgs(argv)
- self.runTests()
def usageExit(self, msg=None):
if msg: print msg
@@ -99,7 +98,7 @@
if self.testRunner is None:
self.testRunner = TextTestRunner(verbosity=self.verbosity)
result = self.testRunner.run(self.test)
- sys.exit(not result.wasSuccessful())
+ return result
if __name__ == "__main__":
@@ -110,6 +109,11 @@
# XXX temporary stop-gap to run doctests
+ # XXXX coverage output seems incorrect ATM
+ run_coverage = '-c' in sys.argv
+ if run_coverage:
+ sys.argv.remove("-c")
+
# import local copy of Python 2.5 doctest
assert os.path.isdir("test")
sys.path.insert(0, "test")
@@ -122,6 +126,12 @@
sys.path.insert(0, "test-tools")
import doctest
+ import coverage
+ if run_coverage:
+ print 'running coverage'
+ coverage.erase()
+ coverage.start()
+
import mechanize
# run .doctest files needing special support
@@ -163,4 +173,23 @@
import unittest
test_path = os.path.join(os.path.dirname(sys.argv[0]), "test")
sys.path.insert(0, test_path)
- TestProgram(MODULE_NAMES)
+ prog = TestProgram(MODULE_NAMES)
+ result = prog.runTests()
+
+ if run_coverage:
+ # HTML coverage report
+ import colorize
+ from mechanize import _mechanize
+ try:
+ os.mkdir("coverage")
+ except OSError:
+ pass
+ f, s, m, mf = coverage.analysis(_mechanize)
+ fo = open(os.path.join('coverage', os.path.basename(f)+'.html'), 'wb')
+ colorize.colorize_file(f, outstream=fo, not_covered=mf)
+ fo.close()
+ coverage.report(_mechanize)
+ #print coverage.analysis(_mechanize)
+
+ # XXX exit status is wrong -- does not take account of doctests
+ sys.exit(not result.wasSuccessful())
More information about the wwwsearch-commits
mailing list