diff options
Diffstat (limited to 'tests/test_testing.py')
-rw-r--r-- | tests/test_testing.py | 37 |
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") |