Issue #11647: allow contextmanager objects to be used as decorators as described in the docs. Initial patch by Ysj Ray.
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 @@
 
 
 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 @@
 
 def mock_contextmanager(func):
     def helper(*args, **kwds):
-        return MockContextManager(func(*args, **kwds))
+        return MockContextManager(func, *args, **kwds)
     return helper