summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-07-18 21:49:58 -0400
committerNed Batchelder <ned@nedbatchelder.com>2015-07-18 21:49:58 -0400
commite9dd5b4a66fb52ed341088b556f120a74bafd702 (patch)
treec34daf7cb1b541b96a531db525df6ddf320a4332
parent14ea67b9565559ba31bbd02dbe607280ba64c7b9 (diff)
downloadpython-coveragepy-e9dd5b4a66fb52ed341088b556f120a74bafd702.tar.gz
Tests of reading and writing data
-rw-r--r--tests/test_data.py54
1 files changed, 50 insertions, 4 deletions
diff --git a/tests/test_data.py b/tests/test_data.py
index 9d90970..3cae55b 100644
--- a/tests/test_data.py
+++ b/tests/test_data.py
@@ -6,6 +6,7 @@ import os.path
from coverage.backward import pickle
from coverage.data import CoverageData, CoverageDataFiles
from coverage.files import PathAliases, canonical_filename
+from coverage.misc import CoverageException
from tests.coveragetest import CoverageTest, DebugControlString
@@ -58,7 +59,7 @@ class DataTestHelpers(CoverageTest):
self.assertCountEqual(covdata.measured_files(), measured)
-class DataTest(DataTestHelpers, CoverageTest):
+class CoverageDataTest(DataTestHelpers, CoverageTest):
"""Test cases for CoverageData."""
run_in_temp_dir = False
@@ -105,16 +106,61 @@ class DataTest(DataTestHelpers, CoverageTest):
self.assertIsNone(covdata.plugin_name("p3.not_here"))
-class DataFilesTest(DataTestHelpers, CoverageTest):
+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(DATA_1)
+ covdata1.write_file("lines.dat")
+
+ covdata2 = CoverageData()
+ covdata2.read_file("lines.dat")
+ self.assert_line_counts(covdata2, SUMMARY_1)
+ self.assert_measured_files(covdata2, MEASURED_FILES_1)
+ self.assertCountEqual(covdata2.lines("a.py"), A_PY_LINES_1)
+
+ def test_read_write_arcs(self):
+ covdata1 = CoverageData(collector="coverage tests")
+ covdata1.add_arcs(ARC_DATA_3)
+ covdata1.write_file("arcs.dat")
+
+ covdata2 = CoverageData()
+ covdata2.read_file("arcs.dat")
+ self.assert_line_counts(covdata2, SUMMARY_3)
+ self.assert_measured_files(covdata2, MEASURED_FILES_3)
+ self.assertCountEqual(covdata2.lines("x.py"), X_PY_LINES_3)
+ self.assertCountEqual(covdata2.arcs("x.py"), X_PY_ARCS_3)
+
+ def test_read_errors(self):
+ covdata = CoverageData()
+
+ self.make_file("xyzzy.dat", "xyzzy")
+ with self.assertRaises(CoverageException):
+ covdata.read_file("xyzzy.dat")
+
+ self.make_file("empty.dat", "")
+ with self.assertRaises(CoverageException):
+ covdata.read_file("empty.dat")
+
+ with self.assertRaises(CoverageException):
+ covdata.read_file("nonexistent.dat")
+
+ # and after all that, no data should be in our CoverageData.
+ self.assertFalse(covdata)
+
+
+class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
"""Tests of CoverageDataFiles."""
no_files_in_temp_dir = True
def setUp(self):
- super(DataFilesTest, self).setUp()
+ super(CoverageDataFilesTest, self).setUp()
self.data_files = CoverageDataFiles()
- def test_reading_empty(self):
+ def test_reading_missing(self):
+ self.assert_doesnt_exist(".coverage")
covdata = CoverageData()
self.data_files.read(covdata)
self.assert_line_counts(covdata, {})