summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2024-10-03 16:26:15 (GMT)
committerGitHub <noreply@github.com>2024-10-03 16:26:15 (GMT)
commitaa6cf9b402ab5e9d6fd1def451bf25daf5fcd1ff (patch)
treef309adcd01a4b3db23a666adaebfd4bc71937200
parent45dedab674e146cd93d2fa90579317a7944f0e73 (diff)
downloadcpython-aa6cf9b402ab5e9d6fd1def451bf25daf5fcd1ff.zip
cpython-aa6cf9b402ab5e9d6fd1def451bf25daf5fcd1ff.tar.gz
cpython-aa6cf9b402ab5e9d6fd1def451bf25daf5fcd1ff.tar.bz2
[3.13] gh-122864: Fix a ``test_funcattrs.test___builtins__`` when executing directly (GH-124845) (#124884)
gh-122864: Fix a ``test_funcattrs.test___builtins__`` when executing directly (GH-124845) Previously when executing ``test_functattrs.test___builtins__`` directly, it failed because the fact, that ``__builtins__`` is refers to the built-in module ``builtins`` while it's expects a ``__builtins__.__dict__``. But when this test is being run from another module, then ``__builtins__`` is refers to ``builtins.__dict__``. Now this part of the behaviour is covered. --------- (cherry picked from commit 8fbf10d6cfd9c69ffcc1f80fa0c5f33785197af7) Co-authored-by: Mark Byrne <31762852+mbyrnepr2@users.noreply.github.com> Co-authored-by: Victor Stinner <vstinner@python.org>
-rw-r--r--Lib/test/test_funcattrs.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/Lib/test/test_funcattrs.py b/Lib/test/test_funcattrs.py
index b3fc5ad..d919d62 100644
--- a/Lib/test/test_funcattrs.py
+++ b/Lib/test/test_funcattrs.py
@@ -98,7 +98,12 @@ class FunctionPropertiesTest(FuncAttrsTest):
(AttributeError, TypeError))
def test___builtins__(self):
- self.assertIs(self.b.__builtins__, __builtins__)
+ if __name__ == "__main__":
+ builtins_dict = __builtins__.__dict__
+ else:
+ builtins_dict = __builtins__
+
+ self.assertIs(self.b.__builtins__, builtins_dict)
self.cannot_set_attr(self.b, '__builtins__', 2,
(AttributeError, TypeError))
@@ -108,7 +113,7 @@ class FunctionPropertiesTest(FuncAttrsTest):
ns = {}
func2 = type(func)(func.__code__, ns)
self.assertIs(func2.__globals__, ns)
- self.assertIs(func2.__builtins__, __builtins__)
+ self.assertIs(func2.__builtins__, builtins_dict)
# Make sure that the function actually works.
self.assertEqual(func2("abc"), 3)