Author: Philip Jenvey <pjen...@underboss.org> Branch: py3.3 Changeset: r72614:46c2f3dee4c1 Date: 2014-07-29 17:30 -0700 http://bitbucket.org/pypy/pypy/changeset/46c2f3dee4c1/
Log: adjust impl details diff --git a/lib-python/3/test/test_builtin.py b/lib-python/3/test/test_builtin.py --- a/lib-python/3/test/test_builtin.py +++ b/lib-python/3/test/test_builtin.py @@ -15,7 +15,8 @@ import unittest import warnings from operator import neg -from test.support import TESTFN, unlink, run_unittest, check_warnings +from test.support import ( + TESTFN, unlink, run_unittest, check_warnings, check_impl_detail) try: import pty, signal except ImportError: @@ -423,7 +424,9 @@ try: raise IndexError except: - self.assertEqual(len(dir(sys.exc_info()[2])), 4) + methods = [meth for meth in dir(sys.exc_info()[2]) + if not meth.startswith('_')] + self.assertEqual(len(methods), 4) # test that object has a __dir__() self.assertEqual(sorted([].__dir__()), dir([])) @@ -558,18 +561,21 @@ self.assertEqual((g, l), ({'a': 1}, {'b': 2})) def test_exec_globals(self): - code = compile("print('Hello World!')", "", "exec") - # no builtin function - self.assertRaisesRegex(NameError, "name 'print' is not defined", - exec, code, {'__builtins__': {}}) - # __builtins__ must be a mapping type - self.assertRaises(TypeError, - exec, code, {'__builtins__': 123}) + if check_impl_detail(): + # strict __builtins__ compliance (CPython) + code = compile("print('Hello World!')", "", "exec") + # no builtin function + self.assertRaisesRegex(NameError, "name 'print' is not defined", + exec, code, {'__builtins__': {}}) + # __builtins__ must be a mapping type + self.assertRaises(TypeError, + exec, code, {'__builtins__': 123}) - # no __build_class__ function - code = compile("class A: pass", "", "exec") - self.assertRaisesRegex(NameError, "__build_class__ not found", - exec, code, {'__builtins__': {}}) + # no __build_class__ function + code = compile("class A: pass", "", "exec") + if True: + self.assertRaisesRegex(NameError, "__build_class__ not found", + exec, code, {'__builtins__': {}}) class frozendict_error(Exception): pass @@ -579,7 +585,7 @@ raise frozendict_error("frozendict is readonly") # read-only builtins - frozen_builtins = frozendict(__builtins__) + frozen_builtins = frozendict(builtins.__dict__) code = compile("__builtins__['superglobal']=2; print(superglobal)", "test", "exec") self.assertRaises(frozendict_error, exec, code, {'__builtins__': frozen_builtins}) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit