diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2009-04-18 20:01:57 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2009-04-18 20:01:57 -0400 |
commit | b97380c4a3a97ac2469ace44005dc63857daf245 (patch) | |
tree | 72d2bc9e6ba280c21c2bdc41d0f764b2fcd5ee39 /test | |
parent | d0a794abfae0fb1d115c5979c9a8dc5c07a12b9c (diff) | |
download | python-coveragepy-git-b97380c4a3a97ac2469ace44005dc63857daf245.tar.gz |
New more flexible data storage.
Diffstat (limited to 'test')
-rw-r--r-- | test/coveragetest.py | 11 | ||||
-rw-r--r-- | test/test_data.py | 31 |
2 files changed, 33 insertions, 9 deletions
diff --git a/test/coveragetest.py b/test/coveragetest.py index 90ef2f53..c96e32ca 100644 --- a/test/coveragetest.py +++ b/test/coveragetest.py @@ -3,6 +3,13 @@ import imp, os, random, shutil, sys, tempfile, textwrap, unittest from cStringIO import StringIO +try: + set() +except NameError: + # pylint: disable-msg=W0622 + # (Redefining built-in 'set') + from sets import Set as set + import coverage @@ -197,3 +204,7 @@ class CoverageTest(unittest.TestCase): output = stdouterr.read() print output return output + + def assert_equal_sets(self, s1, s2): + """Assert that the two arguments are equal as sets.""" + self.assertEqual(set(s1), set(s2)) diff --git a/test/test_data.py b/test/test_data.py index 568fd380..39d5ecd3 100644 --- a/test/test_data.py +++ b/test/test_data.py @@ -1,32 +1,28 @@ """Tests for coverage.data""" +import cPickle as pickle from coverage.data import CoverageData from coveragetest import CoverageTest -try: - set() -except NameError: - # pylint: disable-msg=W0622 - # (Redefining built-in 'set') - from sets import Set as set DATA_1 = [ ('a.py',1), ('a.py',2), ('b.py',3) ] SUMMARY_1 = { 'a.py':2, 'b.py':1 } EXECED_FILES_1 = [ 'a.py', 'b.py' ] +A_PY_LINES_1 = [1,2] +B_PY_LINES_1 = [3] DATA_2 = [ ('a.py',1), ('a.py',5), ('c.py',17) ] SUMMARY_1_2 = { 'a.py':3, 'b.py':1, 'c.py':1 } EXECED_FILES_1_2 = [ 'a.py', 'b.py', 'c.py' ] + class DataTest(CoverageTest): def assert_summary(self, covdata, summary): self.assertEqual(covdata.summary(), summary) def assert_executed_files(self, covdata, execed): - e1 = set(covdata.executed_files()) - e2 = set(execed) - self.assertEqual(e1, e2) + self.assert_equal_sets(covdata.executed_files(), execed) def test_reading_empty(self): covdata = CoverageData() @@ -74,3 +70,20 @@ class DataTest(CoverageTest): covdata2 = CoverageData() covdata2.read() self.assert_summary(covdata2, {}) + + def test_file_format(self): + # Write with CoverageData, then read the pickle explicitly. + covdata = CoverageData() + covdata.add_line_data(DATA_1) + covdata.write() + + fdata = open(".coverage", 'rb') + try: + data = pickle.load(fdata) + finally: + fdata.close() + + lines = data['lines'] + self.assert_equal_sets(lines.keys(), EXECED_FILES_1) + self.assert_equal_sets(lines['a.py'], A_PY_LINES_1) + self.assert_equal_sets(lines['b.py'], B_PY_LINES_1) |