|
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