diff options
| author | Ned Batchelder <nedbat@gmail.com> | 2015-07-21 21:06:05 -0400 |
|---|---|---|
| committer | Ned Batchelder <nedbat@gmail.com> | 2015-07-21 21:06:05 -0400 |
| commit | cf43af31d35ba527e778267c14e51c56c9c3a773 (patch) | |
| tree | 75d7a4c751862f64f79474d41815ef11d224486a /tests | |
| parent | 130f0dcdff98a1f947784f6989d1984b73b28335 (diff) | |
| parent | a591430903ed9108c8cb50369be0d9d9c1a0b200 (diff) | |
| download | python-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.py | 4 | ||||
| -rw-r--r-- | tests/test_data.py | 146 | ||||
| -rw-r--r-- | tests/test_testing.py | 5 |
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!") |
