summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_opcache.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_opcache.py')
-rw-r--r--Lib/test/test_opcache.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/Lib/test/test_opcache.py b/Lib/test/test_opcache.py
new file mode 100644
index 0000000..61f337d
--- /dev/null
+++ b/Lib/test/test_opcache.py
@@ -0,0 +1,23 @@
+import unittest
+
+class TestLoadAttrCache(unittest.TestCase):
+ def test_descriptor_added_after_optimization(self):
+ class Descriptor:
+ pass
+
+ class C:
+ def __init__(self):
+ self.x = 1
+ x = Descriptor()
+
+ def f(o):
+ return o.x
+
+ o = C()
+ for i in range(1025):
+ assert f(o) == 1
+
+ Descriptor.__get__ = lambda self, instance, value: 2
+ Descriptor.__set__ = lambda *args: None
+
+ self.assertEqual(f(o), 2)