|
3 | 3 | # See the LICENSE file in the project root for more information.
|
4 | 4 |
|
5 | 5 | import collections
|
| 6 | +import sys |
6 | 7 | import unittest
|
7 | 8 |
|
8 | 9 | from iptest import IronPythonTestCase, is_cli, path_modifier, run_test
|
@@ -936,15 +937,25 @@ def test(self):
|
936 | 937 | def test_delete_from_builtins(self):
|
937 | 938 | import builtins
|
938 | 939 | from importlib import reload
|
| 940 | + p = builtins.pow |
939 | 941 | try:
|
940 | 942 | del builtins.pow
|
941 | 943 | self.assertRaises(NameError, lambda: pow)
|
942 | 944 | self.assertRaises(AttributeError, lambda: builtins.pow)
|
943 | 945 | finally:
|
944 | 946 | reload(builtins)
|
945 |
| - # make sure we still have access to builtins' after reloading |
946 |
| - if not is_cli: # https://github.com/IronLanguages/ironpython3/issues/1028 |
| 947 | + # check if we still have access to builtins after reloading - see https://github.com/IronLanguages/ironpython3/issues/1028 |
| 948 | + if sys.version_info >= (3,5): |
| 949 | + self.assertRaises(NameError, lambda: pow) |
| 950 | + else: |
947 | 951 | self.assertEqual(pow(2,2), 4) # bug 359890
|
| 952 | + if sys.version_info >= (3,5): |
| 953 | + self.assertRaises(AttributeError, lambda: builtins.pow) |
| 954 | + else: |
| 955 | + self.assertEqual(builtins.pow(2,2), 4) |
| 956 | + builtins.pow = p |
| 957 | + self.assertEqual(pow(2,2), 4) |
| 958 | + self.assertEqual(builtins.pow(2,2), 4) |
948 | 959 | dir('abc')
|
949 | 960 |
|
950 | 961 | def test_override_builtin_method(self):
|
|
0 commit comments