summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES.txt3
-rw-r--r--coverage/cmdline.py1
-rw-r--r--test/test_cmdline.py12
-rw-r--r--test/test_xml.py29
4 files changed, 38 insertions, 7 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 363d7c6b..ad4781c6 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -17,6 +17,9 @@ Version 3.5.4b1
switch that indicates in the exit status whether the coverage percentage was
less than a particular value. Closes `issue 139`_.
+- Embarrassingly, the `[xml] output=' setting in the .coveragerc file simply
+ didn't work. Now it does.
+
- The reporting functions coverage.report(), coverage.html_report(), and
coverage.xml_report() now all return a float, the total percentage covered
measurement.
diff --git a/coverage/cmdline.py b/coverage/cmdline.py
index 8ea76e7d..fe8b9955 100644
--- a/coverage/cmdline.py
+++ b/coverage/cmdline.py
@@ -327,7 +327,6 @@ CMDS = {
Opts.output_xml,
] + GLOBAL_ARGS,
cmd = "xml",
- defaults = {'outfile': 'coverage.xml'},
usage = "[options] [modules]",
description = "Generate an XML report of coverage results."
),
diff --git a/test/test_cmdline.py b/test/test_cmdline.py
index e8e2336e..af46d954 100644
--- a/test/test_cmdline.py
+++ b/test/test_cmdline.py
@@ -553,11 +553,11 @@ class NewCmdLineTest(CmdLineTest):
# coverage xml [-i] [--omit DIR,...] [FILE1 FILE2 ...]
self.cmd_executes("xml", self.INIT_LOAD + """\
.xml_report(ignore_errors=None, omit=None, include=None, morfs=[],
- outfile="coverage.xml")
+ outfile=None)
""")
self.cmd_executes("xml -i", self.INIT_LOAD + """\
.xml_report(ignore_errors=True, omit=None, include=None, morfs=[],
- outfile="coverage.xml")
+ outfile=None)
""")
self.cmd_executes("xml -o myxml.foo", self.INIT_LOAD + """\
.xml_report(ignore_errors=None, omit=None, include=None, morfs=[],
@@ -571,21 +571,21 @@ class NewCmdLineTest(CmdLineTest):
.coverage(cover_pylib=None, data_suffix=None, timid=None, branch=None, config_file=True, source=None, include=None, omit=["fooey"])
.load()
.xml_report(ignore_errors=None, omit=["fooey"], include=None, morfs=[],
- outfile="coverage.xml")
+ outfile=None)
""")
self.cmd_executes("xml --omit fooey,booey", """\
.coverage(cover_pylib=None, data_suffix=None, timid=None, branch=None, config_file=True, source=None, include=None, omit=["fooey", "booey"])
.load()
.xml_report(ignore_errors=None, omit=["fooey", "booey"], include=None,
- morfs=[], outfile="coverage.xml")
+ morfs=[], outfile=None)
""")
self.cmd_executes("xml mod1", self.INIT_LOAD + """\
.xml_report(ignore_errors=None, omit=None, include=None, morfs=["mod1"],
- outfile="coverage.xml")
+ outfile=None)
""")
self.cmd_executes("xml mod1 mod2 mod3", self.INIT_LOAD + """\
.xml_report(ignore_errors=None, omit=None, include=None,
- morfs=["mod1", "mod2", "mod3"], outfile="coverage.xml")
+ morfs=["mod1", "mod2", "mod3"], outfile=None)
""")
def test_no_arguments_at_all(self):
diff --git a/test/test_xml.py b/test/test_xml.py
new file mode 100644
index 00000000..ba17d430
--- /dev/null
+++ b/test/test_xml.py
@@ -0,0 +1,29 @@
+"""Tests for XML reports from coverage.py."""
+
+import os, sys
+
+sys.path.insert(0, os.path.split(__file__)[0]) # Force relative import for Py3k
+from coveragetest import CoverageTest
+
+class XmlReportTest(CoverageTest):
+ """Tests of the XML reports from coverage.py."""
+
+ def setUp(self):
+ super(XmlReportTest, self).setUp()
+ self.make_file("mycode.py", "print('hello')\n")
+ self.run_command("coverage run mycode.py")
+
+ def test_default_file_placement(self):
+ self.run_command("coverage xml")
+ self.assert_exists("coverage.xml")
+
+ def test_argument_affects_xml_placement(self):
+ self.run_command("coverage xml -o put_it_there.xml")
+ self.assert_doesnt_exist("coverage.xml")
+ self.assert_exists("put_it_there.xml")
+
+ def test_config_affects_xml_placement(self):
+ self.make_file(".coveragerc", "[xml]\noutput = xml.out\n")
+ self.run_command("coverage xml")
+ self.assert_doesnt_exist("coverage.xml")
+ self.assert_exists("xml.out")