commit 62086346044c9eab1ce68d830669559773ef22b9 Author: Damian Johnson atagar@torproject.org Date: Mon Jan 21 08:57:02 2013 -0800
Accounting for __builtin__ renaming
Python 3.x renames __builtin__ to builtins...
====================================================================== ERROR: test_parse_circ_path ---------------------------------------------------------------------- Traceback: File "/home/atagar/Desktop/stem/test/data/python3/test/unit/control/controller.py", line 24, in setUp mocking.revert_mocking() File "/home/atagar/Desktop/stem/test/data/python3/test/mocking.py", line 404, in revert_mocking if module == __builtin__: NameError: global name '__builtin__' is not defined --- test/mocking.py | 12 +++++++++++- test/settings.cfg | 1 + 2 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/test/mocking.py b/test/mocking.py index 82b9790..192d59c 100644 --- a/test/mocking.py +++ b/test/mocking.py @@ -58,6 +58,7 @@ import stem.descriptor.extrainfo_descriptor import stem.descriptor.networkstatus import stem.descriptor.router_status_entry import stem.descriptor.server_descriptor +import stem.prereq import stem.response import stem.socket
@@ -401,7 +402,16 @@ def revert_mocking(): for mock_id in mock_ids: module, function, impl = MOCK_STATE[mock_id]
- if module == __builtin__: + # Python 3.x renamed __builtin__ to builtins. Ideally we'd account for + # this with a simple 'import __builtin__ as builtins' but that somehow + # makes the following check fail. Haven't a clue why. + + if stem.prereq.is_python_3(): + builtin_module = builtins + else: + builtin_module = __builtin__ + + if module == builtin_module: setattr(__builtin__, function, impl) else: setattr(module, function, impl) diff --git a/test/settings.cfg b/test/settings.cfg index ebaf6c0..66475ee 100644 --- a/test/settings.cfg +++ b/test/settings.cfg @@ -157,5 +157,6 @@ pyflakes.ignore stem/prereq.py => 'RSA' imported but unused pyflakes.ignore stem/prereq.py => 'asn1' imported but unused pyflakes.ignore stem/prereq.py => 'long_to_bytes' imported but unused pyflakes.ignore stem/descriptor/__init__.py => redefinition of unused 'OrderedDict' from line 32 +pyflakes.ignore test/mocking.py => undefined name 'builtins' pyflakes.ignore test/unit/response/events.py => 'from stem import *' used; unable to detect undefined names
tor-commits@lists.torproject.org