Files
RustPython/tests/snippets/builtins_module.py
Christian Clauss b174453677 Travis CI: Lint Python code with flake8
These tests focus on Python syntax errors and undefined names.
2019-07-23 12:36:22 +02:00

29 lines
771 B
Python

from testutils import assertRaises
assert '__builtins__' in globals()
# assert type(__builtins__).__name__ == 'module'
with assertRaises(AttributeError):
__builtins__.__builtins__
__builtins__.x = 'new'
assert x == 'new' # noqa: F821
exec('assert "__builtins__" in globals()', dict())
exec('assert __builtins__ == 7', {'__builtins__': 7})
exec('assert not isinstance(__builtins__, dict)')
exec('assert isinstance(__builtins__, dict)', {})
namespace = {}
exec('', namespace)
assert namespace['__builtins__'] == __builtins__.__dict__
# with assertRaises(NameError):
# exec('print(__builtins__)', {'__builtins__': {}})
# __builtins__ is deletable but names are alive
del __builtins__
with assertRaises(NameError):
__builtins__ # noqa: F821
assert print