summaryrefslogtreecommitdiff
path: root/tests/test_testing.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-04-25 09:31:06 -0400
committerNed Batchelder <ned@nedbatchelder.com>2015-04-25 09:31:06 -0400
commit9cb10daca96cd61bb4c7afdd4affb6c878e22245 (patch)
tree51f1bbc65c91c961763b4d2fc88480003bcb5b9b /tests/test_testing.py
parent087da3175829f5fdb0db0c372872b905304cda55 (diff)
downloadpython-coveragepy-git-9cb10daca96cd61bb4c7afdd4affb6c878e22245.tar.gz
Refactor datetime recency testing into a tested test helper
Diffstat (limited to 'tests/test_testing.py')
-rw-r--r--tests/test_testing.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/test_testing.py b/tests/test_testing.py
index 75db7e50..08ff257d 100644
--- a/tests/test_testing.py
+++ b/tests/test_testing.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
"""Tests that our test infrastructure is really working!"""
+import datetime
import os
import sys
@@ -80,6 +81,27 @@ class CoverageTestTest(CoverageTest):
with self.assertRaises(AssertionError):
self.assert_starts_with("xyz\nabc", "a")
+ def test_assert_recent_datetime(self):
+ def now_delta(seconds):
+ """Make a datetime `seconds` seconds from now."""
+ return datetime.datetime.now() + datetime.timedelta(seconds=seconds)
+
+ # Default delta is 10 seconds.
+ self.assert_recent_datetime(now_delta(0))
+ self.assert_recent_datetime(now_delta(-9))
+ with self.assertRaises(AssertionError):
+ self.assert_recent_datetime(now_delta(-11))
+ with self.assertRaises(AssertionError):
+ self.assert_recent_datetime(now_delta(1))
+
+ # Delta is settable.
+ self.assert_recent_datetime(now_delta(0), seconds=120)
+ self.assert_recent_datetime(now_delta(-100), seconds=120)
+ with self.assertRaises(AssertionError):
+ self.assert_recent_datetime(now_delta(-1000), seconds=120)
+ with self.assertRaises(AssertionError):
+ self.assert_recent_datetime(now_delta(1), seconds=120)
+
def test_sub_python_is_this_python(self):
# Try it with a Python command.
os.environ['COV_FOOBAR'] = 'XYZZY'