-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test_extremes
failing with 64 bit python 3 on Windows
#32
Comments
test_extremes
failing with 64 bit python 3 test_extremes
failing with 64 bit python 3 on Windows
@tseaver: you wrote that test, do you have any opinions on this? My gut feeling is that this exposes a real bug in OLBTree implementation: it can hold 64-bit values on 32-bit Windows, but not on 64-bit Windows? Most illogical! |
This test is skipped for 32 bit architecture https://github.com/zopefoundation/BTrees/blob/master/BTrees/tests/test_OLBTree.py#L112 |
I believe this error is due to a Windows oddity: |
Which is maybe the stupidest design choice I can think of: likely due to some crazy notion of preserving ABI with Windows 95. :( |
That is weird! |
Shall we declare Win64 to be a 32-bit architecture and skip this test too? |
What does [1] https://docs.python.org/2/library/platform.html#platform.architecture Maybe we should be using the workaround from that API reference: def _skip_on_32_bits(wrapped):
if sys.maxsize == 2**32:
def _dummy(*args):
pass
return _dummy
return test_method |
+1 for the sys.maxsize check, but I'm tempted to make it |
Works around the fact that 'platform.architecture()' reports size of *pointers*, rather than size of *longs*, which matters on Win64. Closes: #32.
LOL |
I think I have the culprit: the |
Replace with 'PyLong_AsLongLongOverflow'. Toward a fix for #32.
Fixed in #36. |
https://ci.appveyor.com/project/mgedmin/btrees/build/1.0.6/job/qg5a0mkrfo00jyg2#L51
All 32 bit versions work fine, 64 bit python 2.7 passes as well. https://ci.appveyor.com/project/mgedmin/btrees/build/1.0.6
The text was updated successfully, but these errors were encountered: