-
Notifications
You must be signed in to change notification settings - Fork 60
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
Prepare Stacklss 3.5 #112
Comments
Original comment by Anselm Kruis (Bitbucket: akruis, GitHub: akruis): Now that #113 is resolved, the Python test suite runs without crashes. A few tests fail:
Of theses the failures in test_httplib, test_ssl and test_urllibnet were likely caused by my network setup. test_doctest will be fixed by c9f1630cf2b1 (http://bugs.python.org/issue9951). test_pickle test_pickletools are Stackless related. They test, that CPython can't pickle a local function. Stackless however pickles such functions by value. I disabled (skip) the test. Changeset c9371dc8e69a |
Original comment by Anselm Kruis (Bitbucket: akruis, GitHub: akruis): I branched 3.5-slp and I'm approaching v3.5.0. Currently all tests seem to pass. I had to patch (commit bda8a9d487da) the C-Python test runner (http://bugs.python.org/issue30028) because the rule "Stackless kills tasklets with C-state upon shutdown" seems to affect multiprocessing is a subtle way. Obviously forked child processes now run their cleanup code. Bug or feature? |
Original comment by Anselm Kruis (Bitbucket: akruis, GitHub: akruis): I also tried to enable recursion free execution of coroutines and "yield from". Unfortunately it turned out to be very very complicated and I didn't succeed within a reasonable amount of time. Because this feature is not required for existing applications, I declare Stackless 3.5 feature complete. |
A very last step: adapt the msi installer. Since Python 3.5 a new Wix based installer is used. Fortunately it is not too hard to adapt the installer. |
- Change the product and file names to Stackless (Python). - Add Stackless include files - Update the Product and Download URLs
Installers for Windows v3.5.4 are available for download on stackless.com. I can't build macOS installers. |
This commit merges the fix from C-Python pull request python#1066 (git commit 22e032a) for bpo-30028. Without this change $ ./python -m test.regrtest test_multiprocessing_fork fails. ($ ./python -m test.test_multiprocessing_fork is OK.) https://bitbucket.org/stackless-dev/stackless/issues/112
…s and test_xml_etree Disable the recently added test methods test_copy() and test_pickle() in test_dictviews, test_generators and test_xml_etree. Theses test assure that objects can't be copied or pickled, but Stackless can copy/pickle them. https://bitbucket.org/stackless-dev/stackless/issues/112
This commit merges the fix from C-Python pull request python#1066 (git commit 22e032a) for bpo-30028. Without this change $ ./python -m test.regrtest test_multiprocessing_fork fails. ($ ./python -m test.test_multiprocessing_fork is OK.) https://bitbucket.org/stackless-dev/stackless/issues/112 (grafted from bda8a9d487da7cfbe4357d5c4c7635e0de19c6af)
Fix the recently added test test_pdb.test_pdb_issue_20766. This test depends on undefined behaviour of C-Python (invalid value of frame.f_lineno if frame.f_trace is None). Stackless-Python behaves differently, if soft-switching is enabled. This change disables soft-switching for this test. https://bitbucket.org/stackless-dev/stackless/issues/112
…in ceval.c #define PY_LOCAL_AGGRESSIVE in ceval.c. Commit c3815b2f9943 undefined it by accident. https://bitbucket.org/stackless-dev/stackless/issues/112
Coroutines are a new feature of Python 3.5. Because their implementation is based on generators, we can pickle and unpickle them easily. https://bitbucket.org/stackless-dev/stackless/issues/112
Skip CPython test cases for coroutine pickling / copying. https://bitbucket.org/stackless-dev/stackless/issues/112
- Change the product and file names to Stackless (Python). - Add Stackless include files - Update the Product and Download URLs
- Change the product and file names to Stackless (Python). - Add Stackless include files - Update the Product and Download URLs (cherry picked from commit 0c1f53c)
mention bpo-28929 in the Documentation section of What's New in Python 3.7.0 alpha 1
Originally reported by: Anselm Kruis (Bitbucket: akruis, GitHub: akruis)
Python 3.5 adds a few new features, which affect Stackless. Here are the results of a quick and dirty review of What’s New In Python 3.5:
https://bugs.python.org/issue21205: New generator attribute __qualname__. PyGenObject gets two new members: gi_name and gi_qualname.
Pickling support implemented: a8f3bfa783a9
https://bugs.python.org/issue19235: new RecursionError exception
https://bugs.python.org/issue24400: PEP 492 - Coroutines with async and await syntax
As part of the PEP 492 implementation, the tp_reserved slot of PyTypeObject was replaced with a tp_as_async slot. Refer to Coroutine Objects for new types, structures and functions.
The coroutine type is just a variant of the generator type. Therefore it is possible to reuse the pickling code for generators to enable pickling of coroutines. Implemented with commit e2bf67837ac2.
Argument Clinic
The text was updated successfully, but these errors were encountered: