summaryrefslogtreecommitdiff
path: root/tests/test_testing.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_testing.py')
-rw-r--r--tests/test_testing.py37
1 files changed, 35 insertions, 2 deletions
diff --git a/tests/test_testing.py b/tests/test_testing.py
index 75db7e50..39c711ba 100644
--- a/tests/test_testing.py
+++ b/tests/test_testing.py
@@ -1,6 +1,10 @@
# -*- coding: utf-8 -*-
+# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
+# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
+
"""Tests that our test infrastructure is really working!"""
+import datetime
import os
import sys
@@ -62,6 +66,14 @@ class TempDirMixinTest(TempDirMixin, TestCase):
class CoverageTestTest(CoverageTest):
"""Test the methods in `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)]
+ )
+
def test_file_exists(self):
self.make_file("whoville.txt", "We are here!")
self.assert_exists("whoville.txt")
@@ -80,6 +92,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'
@@ -97,10 +130,10 @@ class CoverageTestTest(CoverageTest):
# Try it with a "coverage debug sys" command.
out = self.run_command("coverage debug sys").splitlines()
# "environment: COV_FOOBAR = XYZZY" or "COV_FOOBAR = XYZZY"
- executable = next(l for l in out if "executable:" in l)
+ executable = next(l for l in out if "executable:" in l) # pragma: part covered
executable = executable.split(":", 1)[1].strip()
self.assertTrue(same_python_executable(executable, sys.executable))
- environ = next(l for l in out if "COV_FOOBAR" in l)
+ environ = next(l for l in out if "COV_FOOBAR" in l) # pragma: part covered
_, _, environ = environ.rpartition(":")
self.assertEqual(environ.strip(), "COV_FOOBAR = XYZZY")