-
Notifications
You must be signed in to change notification settings - Fork 7
minimock broken hard on python2.7 if 'future' is installed #5
Copy link
Copy link
Open
Description
I've just noticed that having [https://pypi.python.org/pypi/future future] package installed system-wide is breaking minimock for python2.7. This causes a significant pain for system packaging. Is there any chance you could look into making minimock detect that and work around the stupid idea?
To reproduce:
python2.7 -m virtualenv v27
. v27/bin/activate
pip install future
python -m doctest minimock.py
This causes the following lot of failures for me:
**********************************************************************
File "minimock.py", line 363, in minimock.TraceTracker.check
Failed example:
m.some_meth('arg1')
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python2.7/doctest.py", line 1315, in __run
compileflags, 1) in test.globs
File "<doctest minimock.TraceTracker.check[2]>", line 1, in <module>
m.some_meth('arg1')
File "minimock.py", line 529, in __call__
self.mock_tracker.call(self.mock_name, *args, **kw)
File "minimock.py", line 323, in call
self.file.write(msg)
TypeError: unicode argument expected, got 'str'
**********************************************************************
File "minimock.py", line 364, in minimock.TraceTracker.check
Failed example:
tt.check("Called mock_obj.some_meth('arg1')")
Expected:
True
Got:
False
**********************************************************************
File "minimock.py", line 367, in minimock.TraceTracker.check
Failed example:
m.some_meth('arg2')
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python2.7/doctest.py", line 1315, in __run
compileflags, 1) in test.globs
File "<doctest minimock.TraceTracker.check[5]>", line 1, in <module>
m.some_meth('arg2')
File "minimock.py", line 529, in __call__
self.mock_tracker.call(self.mock_name, *args, **kw)
File "minimock.py", line 323, in call
self.file.write(msg)
TypeError: unicode argument expected, got 'str'
**********************************************************************
File "minimock.py", line 389, in minimock.TraceTracker.diff
Failed example:
m.some_meth('dummy argument')
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python2.7/doctest.py", line 1315, in __run
compileflags, 1) in test.globs
File "<doctest minimock.TraceTracker.diff[2]>", line 1, in <module>
m.some_meth('dummy argument')
File "minimock.py", line 529, in __call__
self.mock_tracker.call(self.mock_name, *args, **kw)
File "minimock.py", line 323, in call
self.file.write(msg)
TypeError: unicode argument expected, got 'str'
**********************************************************************
File "minimock.py", line 390, in minimock.TraceTracker.diff
Failed example:
tt.diff("does not match")
Expected:
"Expected:\n does not match\nGot:\n Called mock_obj.some_meth('dummy argument')\n"
Got:
'Expected:\n does not match\nGot nothing\n'
**********************************************************************
File "minimock.py", line 392, in minimock.TraceTracker.diff
Failed example:
tt.diff("Called mock_obj.some_meth('dummy argument')")
Expected:
''
Got:
"Expected:\n Called mock_obj.some_meth('dummy argument')\nGot nothing\n"
**********************************************************************
File "minimock.py", line 411, in minimock.TraceTracker.dump
Failed example:
m.some_meth('dummy argument')
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python2.7/doctest.py", line 1315, in __run
compileflags, 1) in test.globs
File "<doctest minimock.TraceTracker.dump[2]>", line 1, in <module>
m.some_meth('dummy argument')
File "minimock.py", line 529, in __call__
self.mock_tracker.call(self.mock_name, *args, **kw)
File "minimock.py", line 323, in call
self.file.write(msg)
TypeError: unicode argument expected, got 'str'
**********************************************************************
File "minimock.py", line 412, in minimock.TraceTracker.dump
Failed example:
tt.dump()
Expected:
"Called mock_obj.some_meth('dummy argument')\n"
Got:
u''
**********************************************************************
File "minimock.py", line 286, in minimock.assert_same_trace
Failed example:
m.some_meth('dummy argument')
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python2.7/doctest.py", line 1315, in __run
compileflags, 1) in test.globs
File "<doctest minimock.assert_same_trace[2]>", line 1, in <module>
m.some_meth('dummy argument')
File "minimock.py", line 529, in __call__
self.mock_tracker.call(self.mock_name, *args, **kw)
File "minimock.py", line 323, in call
self.file.write(msg)
TypeError: unicode argument expected, got 'str'
**********************************************************************
File "minimock.py", line 287, in minimock.assert_same_trace
Failed example:
assert_same_trace(tt,
"Called mock_obj.some_meth('dummy argument')\n")
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python2.7/doctest.py", line 1315, in __run
compileflags, 1) in test.globs
File "<doctest minimock.assert_same_trace[3]>", line 2, in <module>
"Called mock_obj.some_meth('dummy argument')\n")
File "minimock.py", line 294, in assert_same_trace
assert tracker.check(want), tracker.diff(want)
AssertionError: Expected:
Called mock_obj.some_meth('dummy argument')
Got nothing
**********************************************************************
File "minimock.py", line 450, in minimock.normalize_function_parameters
Failed example:
foo.bar('baz')
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python2.7/doctest.py", line 1315, in __run
compileflags, 1) in test.globs
File "<doctest minimock.normalize_function_parameters[3]>", line 1, in <module>
foo.bar('baz')
File "minimock.py", line 529, in __call__
self.mock_tracker.call(self.mock_name, *args, **kw)
File "minimock.py", line 323, in call
self.file.write(msg)
TypeError: unicode argument expected, got 'str'
**********************************************************************
File "minimock.py", line 451, in minimock.normalize_function_parameters
Failed example:
tt.check(expect_mock_output)
Expected:
True
Got:
False
**********************************************************************
File "minimock.py", line 458, in minimock.normalize_function_parameters
Failed example:
foo.bar('baz')
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python2.7/doctest.py", line 1315, in __run
compileflags, 1) in test.globs
File "<doctest minimock.normalize_function_parameters[7]>", line 1, in <module>
foo.bar('baz')
File "minimock.py", line 529, in __call__
self.mock_tracker.call(self.mock_name, *args, **kw)
File "minimock.py", line 323, in call
self.file.write(msg)
TypeError: unicode argument expected, got 'str'
**********************************************************************
File "minimock.py", line 459, in minimock.normalize_function_parameters
Failed example:
tt.check(expect_mock_output)
Expected:
True
Got:
False
**********************************************************************
5 items had failures:
3 of 7 in minimock.TraceTracker.check
3 of 5 in minimock.TraceTracker.diff
2 of 4 in minimock.TraceTracker.dump
2 of 5 in minimock.assert_same_trace
4 of 9 in minimock.normalize_function_parameters
***Test Failed*** 14 failures.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels