Skip to content
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

Explicit PyPy Support (in progress) #33

Closed
jamadden opened this issue Apr 7, 2015 · 10 comments · Fixed by #34
Closed

Explicit PyPy Support (in progress) #33

jamadden opened this issue Apr 7, 2015 · 10 comments · Fixed by #34

Comments

@jamadden
Copy link
Member

jamadden commented Apr 7, 2015

ZODB currently does not cleanly pass a test run under PyPy --- there are numerous failures.

Part of this is due to the lack of noload in PyPy's "cPickle" module (which is actually implemented in Python) --- this is easily solved through the use of zodbpickle (which is already a dependency). At least part of the rest of it is due to differences in the C and pure-Python implementations of persistent (e.g., the Python PickleCache lacks some size attributes found in the C version).

Hopefully the rest are minor differences, but I'm not sure yet. I'm working on a branch at https://github.com/NextThought/ZODB/tree/pypy to find out, and hopefully fix them (looks like some other PRs in persistent will be useful, too).

I'm opening this issue to let people know someone is working on this, and maybe to have a place to ask for help if I get stuck :)

@jamadden
Copy link
Member Author

jamadden commented Apr 8, 2015

As of now, the ZODB code in this ZODB branch together with the persistent code in this branch runs all 930 unit tests. The modifications to ZODB are very minimal, most of the changes are in persistent.

The functional tests still have some issues. I'm guessing those are mostly refcounting/GC related. I'll look into those next.

@jamadden
Copy link
Member Author

jamadden commented Apr 9, 2015

Update: All 482 functional tests now run under PyPy using those branches.

@jamadden
Copy link
Member Author

With the ZODB code in this branch and the persistent code in this branch, the version of ZEO in this branch passes all of its unit and functional tests. I'll start opening PRs for ZODB and ZEO as soon as persistent gets merged.

@gotcha
Copy link
Member

gotcha commented Apr 20, 2015

@jamadden branch of persistent has been merged and released as 4.0.9

@jamadden
Copy link
Member Author

@gotcha We are waiting on zopefoundation/persistent#20 to be merged and released as 4.0.10.

@tseaver
Copy link
Member

tseaver commented May 19, 2015

I've just doint a review of zopefoundation/persistent#20

@jamadden
Copy link
Member Author

@tseaver Thank you! I know there's a lot to review there. The PRs for ZODB and ZEO are (currently) much smaller.

@tseaver
Copy link
Member

tseaver commented May 19, 2015

I don't see a PR for ZEO.

@tseaver
Copy link
Member

tseaver commented May 19, 2015

Actually, I don't see one for ZODB, either: are both pending landing zopefoundation/persistent#20?

@jamadden
Copy link
Member Author

Yes. I could open them now, but they would fail all the Travis tests until that PR gets merged and released. I should have been more specific about the "forthcoming PRs".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants