summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/coveragetest.py8
-rw-r--r--tests/test_api.py3
-rw-r--r--tests/test_data.py2
-rw-r--r--tests/test_testing.py17
4 files changed, 29 insertions, 1 deletions
diff --git a/tests/coveragetest.py b/tests/coveragetest.py
index caddbeed..94f50852 100644
--- a/tests/coveragetest.py
+++ b/tests/coveragetest.py
@@ -6,6 +6,7 @@
import contextlib
import datetime
import functools
+import glob
import os
import random
import re
@@ -347,6 +348,13 @@ class CoverageTest(
msg = "File %r shouldn't exist" % fname
self.assertTrue(not os.path.exists(fname), msg)
+ def assert_file_count(self, pattern, count):
+ """Assert that there are `count` files matching `pattern`."""
+ files = glob.glob(pattern)
+ msg = "There should be {} files matching {!r}, but there are these: {}"
+ msg = msg.format(count, pattern, files)
+ self.assertEqual(len(files), count, msg)
+
def assert_starts_with(self, s, prefix, msg=None):
"""Assert that `s` starts with `prefix`."""
if not s.startswith(prefix):
diff --git a/tests/test_api.py b/tests/test_api.py
index 248784ff..d0b8efe9 100644
--- a/tests/test_api.py
+++ b/tests/test_api.py
@@ -357,6 +357,7 @@ class ApiTest(CoverageTest):
cov = coverage.Coverage(data_suffix=True)
self.start_import_stop(cov, "code2")
cov.save()
+ self.assert_file_count(".coverage.*", 2)
def make_bad_data_file(self):
"""Make one bad data file."""
@@ -387,6 +388,8 @@ class ApiTest(CoverageTest):
cov1.combine()
cov1.save()
self.check_code1_code2(cov1)
+ self.assert_file_count(".coverage.*", 0)
+ self.assert_exists(".coverage")
cov2 = coverage.Coverage()
with self.assertRaisesRegex(CoverageException, r"No data to combine"):
diff --git a/tests/test_data.py b/tests/test_data.py
index 0d3172d4..5e7b7fc4 100644
--- a/tests/test_data.py
+++ b/tests/test_data.py
@@ -582,7 +582,7 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest):
self.assert_doesnt_exist(".coverage")
def test_true_suffix(self):
- self.assertEqual(glob.glob(".coverage.*"), [])
+ self.assert_file_count(".coverage.*", 0)
# suffix=True will make a randomly named data file.
covdata1 = CoverageData()
diff --git a/tests/test_testing.py b/tests/test_testing.py
index d8cd0ef0..2b01584e 100644
--- a/tests/test_testing.py
+++ b/tests/test_testing.py
@@ -51,6 +51,23 @@ class CoverageTestTest(CoverageTest):
with self.assertRaises(AssertionError):
self.assert_exists("shadow.txt")
+ def test_file_count(self):
+ self.make_file("abcde.txt", "abcde")
+ self.make_file("axczz.txt", "axczz")
+ self.make_file("afile.txt", "afile")
+ self.assert_file_count("a*.txt", 3)
+ self.assert_file_count("*c*.txt", 2)
+ self.assert_file_count("afile.*", 1)
+ self.assert_file_count("*.q", 0)
+ with self.assertRaises(AssertionError):
+ self.assert_file_count("a*.txt", 13)
+ with self.assertRaises(AssertionError):
+ self.assert_file_count("*c*.txt", 12)
+ with self.assertRaises(AssertionError):
+ self.assert_file_count("afile.*", 11)
+ with self.assertRaises(AssertionError):
+ self.assert_file_count("*.q", 10)
+
def test_assert_startwith(self):
self.assert_starts_with("xyzzy", "xy")
self.assert_starts_with("xyz\nabc", "xy")