summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2010-01-06 21:58:36 -0500
committerNed Batchelder <ned@nedbatchelder.com>2010-01-06 21:58:36 -0500
commitb3908795fd4888d67de2fe89a742de1eba24e225 (patch)
treed39bdd96fd306b4db8a008b482f0acd3ba237834
parent06fd9e4574ceeab636fe4def9127bf91cc531c51 (diff)
downloadpython-coveragepy-git-b3908795fd4888d67de2fe89a742de1eba24e225.tar.gz
HTML output directory is now settable in the .rc file.
-rw-r--r--coverage/config.py7
-rw-r--r--coverage/control.py8
-rw-r--r--test/farm/html/run_omit_5.py2
-rw-r--r--test/farm/html/src/omit5.ini3
-rw-r--r--test/test_config.py8
5 files changed, 23 insertions, 5 deletions
diff --git a/coverage/config.py b/coverage/config.py
index b8f114a9..9307fad7 100644
--- a/coverage/config.py
+++ b/coverage/config.py
@@ -26,6 +26,9 @@ class CoverageConfig(object):
self.ignore_errors = False
self.omit_prefixes = None
+ # Defaults for [html]
+ self.html_dir = "htmlcov"
+
def from_environment(self, env_var):
"""Read configuration from the `env_var` environment variable."""
# Timidity: for nose users, read an environment variable. This is a
@@ -79,3 +82,7 @@ class CoverageConfig(object):
omit = omit.strip()
if omit:
self.omit_prefixes.append(omit)
+
+ # [html]
+ if cp.has_option('html', 'directory'):
+ self.html_dir = cp.get('html', 'directory')
diff --git a/coverage/control.py b/coverage/control.py
index 948d3801..3a1b7f0f 100644
--- a/coverage/control.py
+++ b/coverage/control.py
@@ -352,11 +352,12 @@ class coverage(object):
"""
self.config.from_args(
ignore_errors=ignore_errors,
- omit_prefixes=omit_prefixes
+ omit_prefixes=omit_prefixes,
+ html_dir=directory,
)
reporter = HtmlReporter(self, self.config.ignore_errors)
reporter.report(
- morfs, directory=directory,
+ morfs, directory=self.config.html_dir,
omit_prefixes=self.config.omit_prefixes
)
@@ -379,7 +380,8 @@ class coverage(object):
morfs, omit_prefixes=self.config.omit_prefixes, outfile=outfile
)
finally:
- outfile.close()
+ if outfile:
+ outfile.close()
def sysinfo(self):
"""Return a list of key,value pairs showing internal information."""
diff --git a/test/farm/html/run_omit_5.py b/test/farm/html/run_omit_5.py
index abb7619a..bd0fc9e2 100644
--- a/test/farm/html/run_omit_5.py
+++ b/test/farm/html/run_omit_5.py
@@ -5,7 +5,7 @@ def html_it():
cov.start()
import main
cov.stop()
- cov.html_report(directory="../html_omit_5")
+ cov.html_report()
runfunc(html_it, rundir="src")
compare("gold_omit_5", "html_omit_5", size_within=10, file_pattern="*.html")
diff --git a/test/farm/html/src/omit5.ini b/test/farm/html/src/omit5.ini
index a5993942..70ef4917 100644
--- a/test/farm/html/src/omit5.ini
+++ b/test/farm/html/src/omit5.ini
@@ -3,3 +3,6 @@ omit =
fooey
gooey, m2, kablooey
m3, helloworld
+
+[html]
+directory = ../html_omit_5
diff --git a/test/test_config.py b/test/test_config.py
index 4f4b15a6..09928881 100644
--- a/test/test_config.py
+++ b/test/test_config.py
@@ -106,8 +106,13 @@ class ConfigFileTest(CoverageTest):
exclude_lines =
if 0:
- pragma:?\s+no cover
+ pragma:?\\s+no cover
another_tab
+
+ [html]
+
+ directory = c:\\tricky\\dir.somewhere
+
""")
cov = coverage.coverage()
self.assertFalse(cov.config.branch)
@@ -117,3 +122,4 @@ class ConfigFileTest(CoverageTest):
self.assertEqual(cov.get_exclude_list(),
["if 0:", "pragma:?\s+no cover", "another_tab"]
)
+ self.assertEqual(cov.config.html_dir, r"c:\tricky\dir.somewhere")