summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2018-08-12 07:05:33 -0400
committerNed Batchelder <ned@nedbatchelder.com>2018-08-12 07:05:33 -0400
commit5997b823da8d60d909e776424d4ba488bb3927ec (patch)
treeefb855fbb15f4bcad3515318a77e3b4a5399ea98
parent3d6b9819921f5be15168631452053c63424fa8d8 (diff)
downloadpython-coveragepy-git-5997b823da8d60d909e776424d4ba488bb3927ec.tar.gz
Start moving suffix to constructor
-rw-r--r--coverage/data.py6
-rw-r--r--tests/test_data.py29
2 files changed, 19 insertions, 16 deletions
diff --git a/coverage/data.py b/coverage/data.py
index 4b8b7eb2..15d0a273 100644
--- a/coverage/data.py
+++ b/coverage/data.py
@@ -112,7 +112,7 @@ class CoverageJsonData(object):
# line data is easily recovered from the arcs: it is all the first elements
# of the pairs that are greater than zero.
- def __init__(self, basename=None, warn=None, debug=None):
+ def __init__(self, basename=None, suffix=None, warn=None, debug=None):
"""Create a CoverageData.
`warn` is the warning function to use.
@@ -125,6 +125,7 @@ class CoverageJsonData(object):
self._warn = warn
self._debug = debug
self.filename = os.path.abspath(basename or ".coverage")
+ self.suffix = suffix
# A map from canonical Python source file name to a dictionary in
# which there's an entry for each line number that has been
@@ -434,7 +435,7 @@ class CoverageJsonData(object):
self._validate()
- def write(self, suffix=None):
+ def write(self):
"""Write the collected coverage data to a file.
`suffix` is a suffix to append to the base file name. This can be used
@@ -444,6 +445,7 @@ class CoverageJsonData(object):
"""
filename = self.filename
+ suffix = self.suffix
if suffix is True:
# If data_suffix was a simple true value, then make a suffix with
# plenty of distinguishing information. We do this here in
diff --git a/tests/test_data.py b/tests/test_data.py
index 424e1c15..ad4dc84a 100644
--- a/tests/test_data.py
+++ b/tests/test_data.py
@@ -576,9 +576,9 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
def test_explicit_suffix(self):
self.assert_doesnt_exist(".coverage.SUFFIX")
- covdata = CoverageData()
+ covdata = CoverageData(suffix='SUFFIX')
covdata.add_lines(LINES_1)
- covdata.write(suffix='SUFFIX')
+ covdata.write()
self.assert_exists(".coverage.SUFFIX")
self.assert_doesnt_exist(".coverage")
@@ -586,17 +586,17 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
self.assert_file_count(".coverage.*", 0)
# suffix=True will make a randomly named data file.
- covdata1 = CoverageData()
+ covdata1 = CoverageData(suffix=True)
covdata1.add_lines(LINES_1)
- covdata1.write(suffix=True)
+ covdata1.write()
self.assert_doesnt_exist(".coverage")
data_files1 = glob.glob(".coverage.*")
self.assertEqual(len(data_files1), 1)
# Another suffix=True will choose a different name.
- covdata2 = CoverageData()
+ covdata2 = CoverageData(suffix=True)
covdata2.add_lines(LINES_1)
- covdata2.write(suffix=True)
+ covdata2.write()
self.assert_doesnt_exist(".coverage")
data_files2 = glob.glob(".coverage.*")
self.assertEqual(len(data_files2), 2)
@@ -607,15 +607,15 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
def test_combining(self):
self.assert_file_count(".coverage.*", 0)
- covdata1 = CoverageData()
+ covdata1 = CoverageData(suffix='1')
covdata1.add_lines(LINES_1)
- covdata1.write(suffix='1')
+ covdata1.write()
self.assert_exists(".coverage.1")
self.assert_file_count(".coverage.*", 1)
- covdata2 = CoverageData()
+ covdata2 = CoverageData(suffix='2')
covdata2.add_lines(LINES_2)
- covdata2.write(suffix='2')
+ covdata2.write()
self.assert_exists(".coverage.2")
self.assert_file_count(".coverage.*", 2)
@@ -689,6 +689,7 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
self.assertNotIn('file_tracers', data)
def test_writing_to_other_file(self):
+ self.skipTest("This will be deleted!") # TODO
covdata = CoverageData(".otherfile")
covdata.add_lines(LINES_1)
covdata.write()
@@ -700,7 +701,7 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
self.assert_doesnt_exist(".coverage")
def test_combining_with_aliases(self):
- covdata1 = CoverageData()
+ covdata1 = CoverageData(suffix='1')
covdata1.add_lines({
'/home/ned/proj/src/a.py': {1: None, 2: None},
'/home/ned/proj/src/sub/b.py': {3: None},
@@ -709,14 +710,14 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
covdata1.add_file_tracers({
'/home/ned/proj/src/template.html': 'html.plugin',
})
- covdata1.write(suffix='1')
+ covdata1.write()
- covdata2 = CoverageData()
+ covdata2 = CoverageData(suffix='2')
covdata2.add_lines({
r'c:\ned\test\a.py': {4: None, 5: None},
r'c:\ned\test\sub\b.py': {3: None, 6: None},
})
- covdata2.write(suffix='2')
+ covdata2.write()
self.assert_file_count(".coverage.*", 2)