summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES.txt4
-rw-r--r--coverage/data.py2
-rw-r--r--test/test_coverage.py7
3 files changed, 12 insertions, 1 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index e53f202e..6bfa8917 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -14,9 +14,13 @@ Version 3.3
- Added coverage.process_start to enable coverage measurement when Python
starts.
+- Parallel data files combined with "coverage combine" are deleted after
+ they're combined, to clean up unneeded files. Fixes `issue 40`_.
+
- Added an AUTHORS.txt file.
.. _issue 39: http://bitbucket.org/ned/coveragepy/issue/39
+.. _issue 40: http://bitbucket.org/ned/coveragepy/issue/40
Version 3.2, 5 December 2009
diff --git a/coverage/data.py b/coverage/data.py
index bd147756..f9d0edbd 100644
--- a/coverage/data.py
+++ b/coverage/data.py
@@ -180,6 +180,8 @@ class CoverageData(object):
self.lines.setdefault(filename, {}).update(file_data)
for filename, file_data in new_arcs.items():
self.arcs.setdefault(filename, {}).update(file_data)
+ if f != local:
+ os.remove(full_path)
def add_line_data(self, line_data):
"""Add executed line data.
diff --git a/test/test_coverage.py b/test/test_coverage.py
index 7b4a41ce..772075e4 100644
--- a/test/test_coverage.py
+++ b/test/test_coverage.py
@@ -1726,13 +1726,18 @@ class ProcessTest(CoverageTest):
# After two -p runs, there should be two .coverage.machine.123 files.
self.assertEqual(
- len([f for f in os.listdir('.') if f.startswith('.coverage.')]),
+ len([f for f in os.listdir('.') if f.startswith('.coverage')]),
2)
# Combine the parallel coverage data files into .coverage .
self.run_command("coverage -c")
self.assertTrue(os.path.exists(".coverage"))
+ # After combining, there should be only the .coverage file.
+ self.assertEqual(
+ len([f for f in os.listdir('.') if f.startswith('.coverage')]),
+ 1)
+
# Read the coverage file and see that b_or_c.py has all 7 lines
# executed.
data = coverage.CoverageData()