summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorNed Batchelder <nedbat@gmail.com>2015-07-21 21:06:05 -0400
committerNed Batchelder <nedbat@gmail.com>2015-07-21 21:06:05 -0400
commitcf43af31d35ba527e778267c14e51c56c9c3a773 (patch)
tree75d7a4c751862f64f79474d41815ef11d224486a /tests
parent130f0dcdff98a1f947784f6989d1984b73b28335 (diff)
parenta591430903ed9108c8cb50369be0d9d9c1a0b200 (diff)
downloadpython-coveragepy-cf43af31d35ba527e778267c14e51c56c9c3a773.tar.gz
Merged in twexler/coverage.py (pull request #58)
Don't use SourceForge anymore for Cobertura DTD
Diffstat (limited to 'tests')
-rw-r--r--tests/test_cmdline.py4
-rw-r--r--tests/test_data.py146
-rw-r--r--tests/test_testing.py5
3 files changed, 80 insertions, 75 deletions
diff --git a/tests/test_cmdline.py b/tests/test_cmdline.py
index 36a16fb..5e4379e 100644
--- a/tests/test_cmdline.py
+++ b/tests/test_cmdline.py
@@ -522,11 +522,11 @@ class CmdLineWithFilesTest(BaseCmdLineTest):
def test_debug_data(self):
data = CoverageData()
- data.add_lines({
+ data.set_lines({
"file1.py": dict.fromkeys(range(1, 18)),
"file2.py": dict.fromkeys(range(1, 24)),
})
- data.add_plugins({"file1.py": "a_plugin"})
+ data.set_plugins({"file1.py": "a_plugin"})
data_files = CoverageDataFiles()
data_files.write(data)
diff --git a/tests/test_data.py b/tests/test_data.py
index 7a02adc..ea33a58 100644
--- a/tests/test_data.py
+++ b/tests/test_data.py
@@ -1,12 +1,12 @@
"""Tests for coverage.data"""
import glob
+import json
import os
import os.path
import mock
-from coverage.backward import pickle
from coverage.data import CoverageData, CoverageDataFiles
from coverage.files import PathAliases, canonical_filename
from coverage.misc import CoverageException
@@ -88,65 +88,67 @@ class CoverageDataTest(DataTestHelpers, CoverageTest):
def test_line_data_is_true(self):
covdata = CoverageData()
- covdata.add_lines(LINES_1)
+ covdata.set_lines(LINES_1)
self.assertTrue(covdata)
def test_arc_data_is_true(self):
covdata = CoverageData()
- covdata.add_arcs(ARCS_3)
+ covdata.set_arcs(ARCS_3)
self.assertTrue(covdata)
def test_adding_lines(self):
covdata = CoverageData()
- covdata.add_lines(LINES_1)
+ covdata.set_lines(LINES_1)
self.assert_line_counts(covdata, SUMMARY_1)
self.assert_measured_files(covdata, MEASURED_FILES_1)
self.assertCountEqual(covdata.lines("a.py"), A_PY_LINES_1)
+ self.assertFalse(covdata.has_arcs())
def test_adding_arcs(self):
covdata = CoverageData()
- covdata.add_arcs(ARCS_3)
+ covdata.set_arcs(ARCS_3)
self.assert_line_counts(covdata, SUMMARY_3)
self.assert_measured_files(covdata, MEASURED_FILES_3)
self.assertCountEqual(covdata.lines("x.py"), X_PY_LINES_3)
self.assertCountEqual(covdata.arcs("x.py"), X_PY_ARCS_3)
self.assertCountEqual(covdata.lines("y.py"), Y_PY_LINES_3)
self.assertCountEqual(covdata.arcs("y.py"), Y_PY_ARCS_3)
+ self.assertTrue(covdata.has_arcs())
- def test_cant_add_arcs_to_lines(self):
+ def test_cant_set_arcs_with_lines(self):
covdata = CoverageData()
- covdata.add_lines(LINES_1)
+ covdata.set_lines(LINES_1)
with self.assertRaisesRegex(CoverageException, "Can't add arcs to existing line data"):
- covdata.add_arcs(ARCS_3)
+ covdata.set_arcs(ARCS_3)
- def test_cant_add_lines_to_arcs(self):
+ def test_cant_set_lines_with_arcs(self):
covdata = CoverageData()
- covdata.add_arcs(ARCS_3)
+ covdata.set_arcs(ARCS_3)
with self.assertRaisesRegex(CoverageException, "Can't add lines to existing arc data"):
- covdata.add_lines(LINES_1)
+ covdata.set_lines(LINES_1)
def test_touch_file_with_lines(self):
covdata = CoverageData()
- covdata.add_lines(LINES_1)
+ covdata.set_lines(LINES_1)
covdata.touch_file('zzz.py')
self.assert_measured_files(covdata, MEASURED_FILES_1 + ['zzz.py'])
def test_touch_file_with_arcs(self):
covdata = CoverageData()
- covdata.add_arcs(ARCS_3)
+ covdata.set_arcs(ARCS_3)
covdata.touch_file('zzz.py')
self.assert_measured_files(covdata, MEASURED_FILES_3 + ['zzz.py'])
def test_no_lines_vs_unmeasured_file(self):
covdata = CoverageData()
- covdata.add_lines(LINES_1)
+ covdata.set_lines(LINES_1)
covdata.touch_file('zzz.py')
self.assertEqual(covdata.lines('zzz.py'), [])
self.assertIsNone(covdata.lines('no_such_file.py'))
def test_no_arcs_vs_unmeasured_file(self):
covdata = CoverageData()
- covdata.add_arcs(ARCS_3)
+ covdata.set_arcs(ARCS_3)
covdata.touch_file('zzz.py')
self.assertEqual(covdata.lines('zzz.py'), [])
self.assertIsNone(covdata.lines('no_such_file.py'))
@@ -155,12 +157,12 @@ class CoverageDataTest(DataTestHelpers, CoverageTest):
def test_plugin_name(self):
covdata = CoverageData()
- covdata.add_lines({
+ covdata.set_lines({
"p1.foo": dict.fromkeys([1, 2, 3]),
"p2.html": dict.fromkeys([10, 11, 12]),
"main.py": dict.fromkeys([20]),
})
- covdata.add_plugins({"p1.foo": "p1.plugin", "p2.html": "p2.plugin"})
+ covdata.set_plugins({"p1.foo": "p1.plugin", "p2.html": "p2.plugin"})
self.assertEqual(covdata.plugin_name("p1.foo"), "p1.plugin")
self.assertEqual(covdata.plugin_name("main.py"), "")
self.assertIsNone(covdata.plugin_name("p3.not_here"))
@@ -169,27 +171,27 @@ class CoverageDataTest(DataTestHelpers, CoverageTest):
covdata = CoverageData()
msg = "Can't add plugin data for unmeasured file 'p1.foo'"
with self.assertRaisesRegex(CoverageException, msg):
- covdata.add_plugins({"p1.foo": "p1.plugin"})
+ covdata.set_plugins({"p1.foo": "p1.plugin"})
- covdata.add_lines({"p2.html": dict.fromkeys([10, 11, 12])})
+ covdata.set_lines({"p2.html": dict.fromkeys([10, 11, 12])})
with self.assertRaisesRegex(CoverageException, msg):
- covdata.add_plugins({"p1.foo": "p1.plugin"})
+ covdata.set_plugins({"p1.foo": "p1.plugin"})
def test_cant_change_plugin_name(self):
covdata = CoverageData()
- covdata.add_lines({"p1.foo": dict.fromkeys([1, 2, 3])})
- covdata.add_plugins({"p1.foo": "p1.plugin"})
+ covdata.set_lines({"p1.foo": dict.fromkeys([1, 2, 3])})
+ covdata.set_plugins({"p1.foo": "p1.plugin"})
msg = "Conflicting plugin name for 'p1.foo': 'p1.plugin' vs 'p1.plugin.foo'"
with self.assertRaisesRegex(CoverageException, msg):
- covdata.add_plugins({"p1.foo": "p1.plugin.foo"})
+ covdata.set_plugins({"p1.foo": "p1.plugin.foo"})
def test_update_lines(self):
covdata1 = CoverageData()
- covdata1.add_lines(LINES_1)
+ covdata1.set_lines(LINES_1)
covdata2 = CoverageData()
- covdata2.add_lines(LINES_2)
+ covdata2.set_lines(LINES_2)
covdata3 = CoverageData()
covdata3.update(covdata1)
@@ -200,10 +202,10 @@ class CoverageDataTest(DataTestHelpers, CoverageTest):
def test_update_arcs(self):
covdata1 = CoverageData()
- covdata1.add_arcs(ARCS_3)
+ covdata1.set_arcs(ARCS_3)
covdata2 = CoverageData()
- covdata2.add_arcs(ARCS_4)
+ covdata2.set_arcs(ARCS_4)
covdata3 = CoverageData()
covdata3.update(covdata1)
@@ -214,10 +216,10 @@ class CoverageDataTest(DataTestHelpers, CoverageTest):
def test_update_cant_mix_lines_and_arcs(self):
covdata1 = CoverageData()
- covdata1.add_lines(LINES_1)
+ covdata1.set_lines(LINES_1)
covdata2 = CoverageData()
- covdata2.add_arcs(ARCS_3)
+ covdata2.set_arcs(ARCS_3)
with self.assertRaisesRegex(CoverageException, "Can't combine arc data with line data"):
covdata1.update(covdata2)
@@ -227,24 +229,24 @@ class CoverageDataTest(DataTestHelpers, CoverageTest):
def test_update_plugins(self):
covdata1 = CoverageData()
- covdata1.add_lines({
+ covdata1.set_lines({
"p1.html": dict.fromkeys([1, 2, 3, 4]),
"p2.html": dict.fromkeys([5, 6, 7]),
"main.py": dict.fromkeys([10, 11, 12]),
})
- covdata1.add_plugins({
+ covdata1.set_plugins({
"p1.html": "html.plugin",
"p2.html": "html.plugin2",
})
covdata2 = CoverageData()
- covdata2.add_lines({
+ covdata2.set_lines({
"p1.html": dict.fromkeys([3, 4, 5, 6]),
"p2.html": dict.fromkeys([7, 8, 9]),
"p3.foo": dict.fromkeys([1000, 1001]),
"main.py": dict.fromkeys([10, 11, 12]),
})
- covdata2.add_plugins({
+ covdata2.set_plugins({
"p1.html": "html.plugin",
"p2.html": "html.plugin2",
"p3.foo": "foo_plugin",
@@ -260,12 +262,12 @@ class CoverageDataTest(DataTestHelpers, CoverageTest):
def test_update_conflicting_plugins(self):
covdata1 = CoverageData()
- covdata1.add_lines({"p1.html": dict.fromkeys([1, 2, 3])})
- covdata1.add_plugins({"p1.html": "html.plugin"})
+ covdata1.set_lines({"p1.html": dict.fromkeys([1, 2, 3])})
+ covdata1.set_plugins({"p1.html": "html.plugin"})
covdata2 = CoverageData()
- covdata2.add_lines({"p1.html": dict.fromkeys([1, 2, 3])})
- covdata2.add_plugins({"p1.html": "html.other_plugin"})
+ covdata2.set_lines({"p1.html": dict.fromkeys([1, 2, 3])})
+ covdata2.set_plugins({"p1.html": "html.other_plugin"})
msg = "Conflicting plugin name for 'p1.html': 'html.plugin' vs 'html.other_plugin'"
with self.assertRaisesRegex(CoverageException, msg):
@@ -277,11 +279,11 @@ class CoverageDataTest(DataTestHelpers, CoverageTest):
def test_update_plugin_vs_no_plugin(self):
covdata1 = CoverageData()
- covdata1.add_lines({"p1.html": dict.fromkeys([1, 2, 3])})
- covdata1.add_plugins({"p1.html": "html.plugin"})
+ covdata1.set_lines({"p1.html": dict.fromkeys([1, 2, 3])})
+ covdata1.set_plugins({"p1.html": "html.plugin"})
covdata2 = CoverageData()
- covdata2.add_lines({"p1.html": dict.fromkeys([1, 2, 3])})
+ covdata2.set_lines({"p1.html": dict.fromkeys([1, 2, 3])})
msg = "Conflicting plugin name for 'p1.html': 'html.plugin' vs ''"
with self.assertRaisesRegex(CoverageException, msg):
@@ -293,7 +295,7 @@ class CoverageDataTest(DataTestHelpers, CoverageTest):
def test_add_to_hash_with_lines(self):
covdata = CoverageData()
- covdata.add_lines(LINES_1)
+ covdata.set_lines(LINES_1)
hasher = mock.Mock()
covdata.add_to_hash("a.py", hasher)
self.assertEqual(hasher.method_calls, [
@@ -303,8 +305,8 @@ class CoverageDataTest(DataTestHelpers, CoverageTest):
def test_add_to_hash_with_arcs(self):
covdata = CoverageData()
- covdata.add_arcs(ARCS_3)
- covdata.add_plugins({"y.py": "hologram_plugin"})
+ covdata.set_arcs(ARCS_3)
+ covdata.set_plugins({"y.py": "hologram_plugin"})
hasher = mock.Mock()
covdata.add_to_hash("y.py", hasher)
self.assertEqual(hasher.method_calls, [
@@ -317,8 +319,8 @@ class CoverageDataTestInTempDir(DataTestHelpers, CoverageTest):
"""Tests of CoverageData that need a temp dir to make files."""
def test_read_write_lines(self):
- covdata1 = CoverageData(collector="coverage tests")
- covdata1.add_lines(LINES_1)
+ covdata1 = CoverageData()
+ covdata1.set_lines(LINES_1)
covdata1.write_file("lines.dat")
covdata2 = CoverageData()
@@ -328,8 +330,8 @@ class CoverageDataTestInTempDir(DataTestHelpers, CoverageTest):
self.assertCountEqual(covdata2.lines("a.py"), A_PY_LINES_1)
def test_read_write_arcs(self):
- covdata1 = CoverageData(collector="coverage tests")
- covdata1.add_arcs(ARCS_3)
+ covdata1 = CoverageData()
+ covdata1.set_arcs(ARCS_3)
covdata1.write_file("arcs.dat")
covdata2 = CoverageData()
@@ -377,7 +379,7 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
def test_writing_and_reading(self):
covdata1 = CoverageData()
- covdata1.add_lines(LINES_1)
+ covdata1.set_lines(LINES_1)
self.data_files.write(covdata1)
covdata2 = CoverageData()
@@ -389,7 +391,7 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
# writing files.
debug = DebugControlString(options=["dataio"])
covdata1 = CoverageData(debug=debug)
- covdata1.add_lines(LINES_1)
+ covdata1.set_lines(LINES_1)
self.data_files.write(covdata1)
covdata2 = CoverageData(debug=debug)
@@ -407,7 +409,7 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
# output.
debug = DebugControlString(options=[])
covdata1 = CoverageData(debug=debug)
- covdata1.add_lines(LINES_1)
+ covdata1.set_lines(LINES_1)
self.data_files.write(covdata1)
covdata2 = CoverageData(debug=debug)
@@ -419,7 +421,7 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
def test_explicit_suffix(self):
self.assert_doesnt_exist(".coverage.SUFFIX")
covdata = CoverageData()
- covdata.add_lines(LINES_1)
+ covdata.set_lines(LINES_1)
self.data_files.write(covdata, suffix='SUFFIX')
self.assert_exists(".coverage.SUFFIX")
self.assert_doesnt_exist(".coverage")
@@ -429,7 +431,7 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
# suffix=True will make a randomly named data file.
covdata1 = CoverageData()
- covdata1.add_lines(LINES_1)
+ covdata1.set_lines(LINES_1)
self.data_files.write(covdata1, suffix=True)
self.assert_doesnt_exist(".coverage")
data_files1 = glob.glob(".coverage.*")
@@ -437,7 +439,7 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
# Another suffix=True will choose a different name.
covdata2 = CoverageData()
- covdata2.add_lines(LINES_1)
+ covdata2.set_lines(LINES_1)
self.data_files.write(covdata2, suffix=True)
self.assert_doesnt_exist(".coverage")
data_files2 = glob.glob(".coverage.*")
@@ -451,13 +453,13 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
self.assert_doesnt_exist(".coverage.2")
covdata1 = CoverageData()
- covdata1.add_lines(LINES_1)
+ covdata1.set_lines(LINES_1)
self.data_files.write(covdata1, suffix='1')
self.assert_exists(".coverage.1")
self.assert_doesnt_exist(".coverage.2")
covdata2 = CoverageData()
- covdata2.add_lines(LINES_2)
+ covdata2.set_lines(LINES_2)
self.data_files.write(covdata2, suffix='2')
self.assert_exists(".coverage.2")
@@ -470,7 +472,7 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
def test_erasing(self):
covdata1 = CoverageData()
- covdata1.add_lines(LINES_1)
+ covdata1.set_lines(LINES_1)
self.data_files.write(covdata1)
covdata1.erase()
@@ -482,13 +484,13 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
self.assert_line_counts(covdata2, {})
def test_file_format(self):
- # Write with CoverageData, then read the pickle explicitly.
+ # Write with CoverageData, then read the JSON explicitly.
covdata = CoverageData()
- covdata.add_lines(LINES_1)
+ covdata.set_lines(LINES_1)
self.data_files.write(covdata)
- with open(".coverage", 'rb') as fdata:
- data = pickle.load(fdata)
+ with open(".coverage", 'r') as fdata:
+ data = json.load(fdata)
lines = data['lines']
self.assertCountEqual(lines.keys(), MEASURED_FILES_1)
@@ -498,24 +500,24 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
self.assertNotIn('arcs', data)
def test_file_format_with_arcs(self):
- # Write with CoverageData, then read the pickle explicitly.
+ # Write with CoverageData, then read the JSON explicitly.
covdata = CoverageData()
- covdata.add_arcs(ARCS_3)
+ covdata.set_arcs(ARCS_3)
self.data_files.write(covdata)
- with open(".coverage", 'rb') as fdata:
- data = pickle.load(fdata)
+ with open(".coverage", 'r') as fdata:
+ data = json.load(fdata)
self.assertNotIn('lines', data)
arcs = data['arcs']
self.assertCountEqual(arcs.keys(), MEASURED_FILES_3)
- self.assertCountEqual(arcs['x.py'], X_PY_ARCS_3)
- self.assertCountEqual(arcs['y.py'], Y_PY_ARCS_3)
+ self.assertCountEqual(arcs['x.py'], map(list, X_PY_ARCS_3))
+ self.assertCountEqual(arcs['y.py'], map(list, Y_PY_ARCS_3))
def test_writing_to_other_file(self):
data_files = CoverageDataFiles(".otherfile")
covdata = CoverageData()
- covdata.add_lines(LINES_1)
+ covdata.set_lines(LINES_1)
data_files.write(covdata)
self.assert_doesnt_exist(".coverage")
self.assert_exists(".otherfile")
@@ -526,18 +528,18 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
def test_combining_with_aliases(self):
covdata1 = CoverageData()
- covdata1.add_lines({
+ covdata1.set_lines({
'/home/ned/proj/src/a.py': {1: None, 2: None},
'/home/ned/proj/src/sub/b.py': {3: None},
'/home/ned/proj/src/template.html': {10: None},
})
- covdata1.add_plugins({
+ covdata1.set_plugins({
'/home/ned/proj/src/template.html': 'html.plugin',
})
self.data_files.write(covdata1, suffix='1')
covdata2 = CoverageData()
- covdata2.add_lines({
+ covdata2.set_lines({
r'c:\ned\test\a.py': {4: None, 5: None},
r'c:\ned\test\sub\b.py': {3: None, 6: None},
})
@@ -559,12 +561,12 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
def test_combining_from_different_directories(self):
covdata1 = CoverageData()
- covdata1.add_lines(LINES_1)
+ covdata1.set_lines(LINES_1)
os.makedirs('cov1')
covdata1.write_file('cov1/.coverage.1')
covdata2 = CoverageData()
- covdata2.add_lines(LINES_2)
+ covdata2.set_lines(LINES_2)
os.makedirs('cov2')
covdata2.write_file('cov2/.coverage.2')
diff --git a/tests/test_testing.py b/tests/test_testing.py
index b01cb74..5e54268 100644
--- a/tests/test_testing.py
+++ b/tests/test_testing.py
@@ -66,7 +66,10 @@ class CoverageTestTest(CoverageTest):
def test_arcz_to_arcs(self):
self.assertEqual(self.arcz_to_arcs(".1 12 2."), [(-1, 1), (1, 2), (2, -1)])
self.assertEqual(self.arcz_to_arcs("-11 12 2-5"), [(-1, 1), (1, 2), (2, -5)])
- self.assertEqual(self.arcz_to_arcs("-QA CB IT Z-A"), [(-26, 10), (12, 11), (18, 29), (35, -10)])
+ self.assertEqual(
+ self.arcz_to_arcs("-QA CB IT Z-A"),
+ [(-26, 10), (12, 11), (18, 29), (35, -10)]
+ )
def test_file_exists(self):
self.make_file("whoville.txt", "We are here!")