diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2019-06-05 15:22:31 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-05 15:22:31 (GMT) |
commit | 142566c028720934325f0b7fe28680afd046e00f (patch) | |
tree | 021875972731bf9271bf07cc05d17f15866ded7a /Lib/unittest | |
parent | 6c01ebcc0dfc6be22950fabb46bdc10dcb6202c9 (diff) | |
download | cpython-142566c028720934325f0b7fe28680afd046e00f.zip cpython-142566c028720934325f0b7fe28680afd046e00f.tar.gz cpython-142566c028720934325f0b7fe28680afd046e00f.tar.bz2 |
[3.9] bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-12620)
Turn deprecation warnings added in 3.8 into TypeError.
Diffstat (limited to 'Lib/unittest')
-rw-r--r-- | Lib/unittest/case.py | 19 | ||||
-rw-r--r-- | Lib/unittest/test/test_runner.py | 5 |
2 files changed, 3 insertions, 21 deletions
diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py index b363c63..8afb845 100644 --- a/Lib/unittest/case.py +++ b/Lib/unittest/case.py @@ -463,30 +463,13 @@ class TestCase(object): """ self._type_equality_funcs[typeobj] = function - def addCleanup(*args, **kwargs): + def addCleanup(self, function, /, *args, **kwargs): """Add a function, with arguments, to be called when the test is completed. Functions added are called on a LIFO basis and are called after tearDown on test failure or success. Cleanup items are called even if setUp fails (unlike tearDown).""" - if len(args) >= 2: - self, function, *args = args - elif not args: - raise TypeError("descriptor 'addCleanup' of 'TestCase' object " - "needs an argument") - elif 'function' in kwargs: - function = kwargs.pop('function') - self, *args = args - import warnings - warnings.warn("Passing 'function' as keyword argument is deprecated", - DeprecationWarning, stacklevel=2) - else: - raise TypeError('addCleanup expected at least 1 positional ' - 'argument, got %d' % (len(args)-1)) - args = tuple(args) - self._cleanups.append((function, args, kwargs)) - addCleanup.__text_signature__ = '($self, function, /, *args, **kwargs)' @classmethod def addClassCleanup(cls, function, /, *args, **kwargs): diff --git a/Lib/unittest/test/test_runner.py b/Lib/unittest/test/test_runner.py index 7d36340..dd9a1b6 100644 --- a/Lib/unittest/test/test_runner.py +++ b/Lib/unittest/test/test_runner.py @@ -592,7 +592,7 @@ class TestModuleCleanUp(unittest.TestCase): class TestableTest(unittest.TestCase): def setUp(self2): self2.addCleanup(cleanup, 1, 2, function=3, self=4) - with self.assertWarns(DeprecationWarning): + with self.assertRaises(TypeError): self2.addCleanup(function=cleanup, arg='hello') def testNothing(self): pass @@ -603,8 +603,7 @@ class TestModuleCleanUp(unittest.TestCase): unittest.TestCase.addCleanup(self=TestableTest(), function=cleanup) runTests(TestableTest) self.assertEqual(cleanups, - [((), {'arg': 'hello'}), - ((1, 2), {'function': 3, 'self': 4})]) + [((1, 2), {'function': 3, 'self': 4})]) def test_with_errors_in_addClassCleanup(self): ordering = [] |