summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorNick Coghlan <ncoghlan@gmail.com>2011-05-05 13:58:57 (GMT)
committerNick Coghlan <ncoghlan@gmail.com>2011-05-05 13:58:57 (GMT)
commit7ceb1804b0359bfe73aca19ff75cb51eb7dcabd4 (patch)
treedf2388c45d56140379ad56a5524890f1d63c6cd6 /Lib/test
parente9a56e8d49fcac2f8c4e4c65f588468f1aeb6a09 (diff)
parent0ded3e307b188246018c893d90f26dfba6fe282c (diff)
downloadcpython-7ceb1804b0359bfe73aca19ff75cb51eb7dcabd4.zip
cpython-7ceb1804b0359bfe73aca19ff75cb51eb7dcabd4.tar.gz
cpython-7ceb1804b0359bfe73aca19ff75cb51eb7dcabd4.tar.bz2
Merge #11647 update from 3.2
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_contextlib.py7
-rw-r--r--Lib/test/test_with.py6
2 files changed, 9 insertions, 4 deletions
diff --git a/Lib/test/test_contextlib.py b/Lib/test/test_contextlib.py
index d6bb5b8..6e38305 100644
--- a/Lib/test/test_contextlib.py
+++ b/Lib/test/test_contextlib.py
@@ -350,13 +350,13 @@ class TestContextDecorator(unittest.TestCase):
def test_contextmanager_as_decorator(self):
- state = []
@contextmanager
def woohoo(y):
state.append(y)
yield
state.append(999)
+ state = []
@woohoo(1)
def test(x):
self.assertEqual(state, [1])
@@ -364,6 +364,11 @@ class TestContextDecorator(unittest.TestCase):
test('something')
self.assertEqual(state, [1, 'something', 999])
+ # Issue #11647: Ensure the decorated function is 'reusable'
+ state = []
+ test('something else')
+ self.assertEqual(state, [1, 'something else', 999])
+
# This is needed to make the test actually run under regrtest.py!
def test_main():
diff --git a/Lib/test/test_with.py b/Lib/test/test_with.py
index a9d374b..e8cc8c0 100644
--- a/Lib/test/test_with.py
+++ b/Lib/test/test_with.py
@@ -14,8 +14,8 @@ from test.support import run_unittest
class MockContextManager(_GeneratorContextManager):
- def __init__(self, gen):
- _GeneratorContextManager.__init__(self, gen)
+ def __init__(self, func, *args, **kwds):
+ super().__init__(func, *args, **kwds)
self.enter_called = False
self.exit_called = False
self.exit_args = None
@@ -33,7 +33,7 @@ class MockContextManager(_GeneratorContextManager):
def mock_contextmanager(func):
def helper(*args, **kwds):
- return MockContextManager(func(*args, **kwds))
+ return MockContextManager(func, *args, **kwds)
return helper