Commit graph

4513 commits

Author SHA1 Message Date
Hood Chatham da5b9814cc
Set up CI for wasm32-emscripten target (#2436)
* ci: test on emscripten target

This adds CI to build libpython3.11 for wasm32-emscripten and
running tests against it. We need to patch instant to work
around the emscripten_get_now:
https://github.com/sebcrozet/instant/pull/47

We also have to patch emscripten to work aroung the "undefined
symbol gxx_personality_v0" error:
https://github.com/emscripten-core/emscripten/issues/17128

I set up a nox file to download and install emscripten,
download and build cpython, set appropriate environment variables
then run cargo test. The workflow just installs python, rust,
node, and nox and runs the nox session.

I xfailed all the test failures. There are problems with datetime.
iter_dict_nosegv and test_filenotfounderror should probably be
fixable. The tests that involve threads or asyncio probably can't
be fixed.

* Some cleanup

* Remove instant patch

* Add explanations for xfails
2022-06-08 05:59:18 +01:00
David Hewitt 5603fa06b3
Merge pull request #2439 from davidhewitt/ffi-descrobject
ffi: tidy descrobject.rs
2022-06-07 20:44:44 +01:00
David Hewitt 866ddaca8a ffi: tidy descrobject.rs 2022-06-07 19:45:36 +01:00
David Hewitt 330fcccf97
Merge pull request #2434 from alex/ffi-fixes
ffi: fixes for field names/presence
2022-06-05 13:05:49 +01:00
Alex Gaynor 9cfbdeca78 ffi: fixes for field names/presence
pyo3-ffi-check now passes for me on 3.9
2022-06-05 07:39:17 -04:00
David Hewitt 65616d2f17
Merge pull request #2433 from davidhewitt/ffi-fixes
ffi: more pypy fixes
2022-06-05 10:12:31 +01:00
David Hewitt 6f4e84f25f ffi: more pypy fixes 2022-06-05 09:24:46 +01:00
David Hewitt 5b82090005
Merge pull request #2432 from davidhewitt/ffi-fixes
ffi: field fixes from pyo3-ffi-check
2022-06-05 08:54:43 +01:00
David Hewitt 9300bff551 ffi: field fixes from pyo3-ffi-check 2022-06-05 08:17:14 +01:00
David Hewitt f8d58f57c3
Merge pull request #2431 from alex/patch-1
fixed name of initfunc field on _inittab
2022-06-05 07:19:26 +01:00
Alex Gaynor e1c8bda4ee
fixed name of initfunc field on _inittab 2022-06-04 22:15:51 -04:00
Bruno Kolenbrander 7e7e7ffa63
Merge pull request #2430 from alex/patch-1
ob_shash is available on CPython
2022-06-04 22:26:12 +02:00
Alex Gaynor 485994fa90
ob_shash is available on CPython
This struct is opaque on PyPy anyways, so the conditional didn't make sense.
2022-06-04 15:01:54 -04:00
David Hewitt 9777faddc6
Merge pull request #2429 from alex/pyopccache-py311
_PyOpcache does not exist on Python 3.11
2022-06-04 18:22:42 +01:00
Bruno Kolenbrander 728d35aa7d
Expand on the C api definitions (#2409)
* Expand on the C api

* Fix Ci

* Fix PyCodeObject structure

* Add descrobjects

* Add None and NotImplemented type objects

* Update pyo3-ffi/src/cpython/object.rs

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>

* Fix PyPy definitions

* Fix CI

* Fix CI

* Fix CI

* Fix CI

* Fix CI

* Fix CI

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2022-06-04 18:22:18 +01:00
Alex Gaynor 12d38dbcf8 _PyOpcache does not exist on Python 3.11
NB: the definition of PyCodeObject is still quite wrong. This is the minimal change to get pyo3-ffi-check to compile at all!
2022-06-04 10:46:05 -04:00
David Hewitt b2c4c0f48c
Merge pull request #2428 from davidhewitt/ffi-fixes
ffi: another batch of fixes from `pyo3-ffi-check`
2022-06-04 13:52:34 +01:00
David Hewitt cdf86482d8 ffi: many fixes to pypy definitions 2022-06-04 12:47:40 +01:00
David Hewitt 0d78e88b14 ffi: fix PyTypeObject definition on Python 3.8 2022-06-04 08:12:27 +01:00
David Hewitt e9012fed63
Merge pull request #2427 from davidhewitt/pypy-manual-build
guide: document platform tag for pypy
2022-06-03 20:32:07 +01:00
David Hewitt f22a69e223 guide: document platform tag for pypy 2022-06-03 20:10:02 +01:00
David Hewitt 3cd9e3b411
Merge pull request #2424 from davidhewitt/ffi-fixes
ffi: fix PyFrameObject definition
2022-06-02 18:15:52 +01:00
David Hewitt f8a9837c3a ffi: fix PyFrameObject definition 2022-06-02 17:47:23 +01:00
David Hewitt 4f490a01d6
Merge pull request #2423 from davidhewitt/ffi-fixes
ffi: many fixes caught by pyo3-ffi-check
2022-06-02 16:54:08 +01:00
David Hewitt 78cdc6d6ad ffi: many fixes caught by pyo3-ffi-check 2022-06-02 16:32:07 +01:00
David Hewitt 62e110cdcf
Merge pull request #2419 from davidhewitt/more-changelog
CHANGELOG: document #2406 and #2407
2022-06-02 14:33:35 +01:00
David Hewitt a746411b24
Merge pull request #2422 from davidhewitt/frompyobject-fixes
frompyobject: improve error messages of derived impls
2022-06-02 13:30:03 +01:00
David Hewitt f50406a034
Merge pull request #2413 from davidhewitt/simpler-interned
macros: simpler expansion for `intern!`
2022-06-02 12:54:11 +01:00
David Hewitt c7f13a1f10 CHANGELOG: document #2406 and #2407 2022-06-02 12:42:07 +01:00
David Hewitt f34b9a3fc4
Merge pull request #2421 from davidhewitt/ffi-fixes
ffi: small corrections
2022-06-02 12:20:54 +01:00
David Hewitt 425808e632
Merge pull request #2420 from davidhewitt/more-ci-updates
ci: update more actions
2022-06-02 11:14:43 +01:00
David Hewitt 0aa4f95a98 frompyobject: improve error messages of derived impls 2022-06-02 11:13:35 +01:00
David Hewitt 261c0c5f56 macros: simpler expansion for intern! 2022-06-02 09:57:58 +01:00
David Hewitt 6a9f5fd705 ffi: remove PyArena on 3.10 and up 2022-06-02 09:35:35 +01:00
David Hewitt 6741104762 ffi: fix names of _Base datetime structs 2022-06-02 09:35:35 +01:00
David Hewitt a388901fc6
Merge pull request #2414 from davidhewitt/frompyobject-fixes
`#[derive(FromPyObject)]`: clean up generated code
2022-06-02 09:33:07 +01:00
David Hewitt 58f4042e4f ci: update more actions 2022-06-02 09:18:35 +01:00
David Hewitt 1d50ffd500
Merge pull request #2407 from alex/patch-2
Make Py_tracefunc an unsafe func
2022-06-02 08:55:07 +01:00
David Hewitt 4090f6b1ae CHANGELOG: document #2414 2022-06-02 08:54:20 +01:00
David Hewitt e4ec720d51 frompyobject: tidy up generated code 2022-06-02 08:54:20 +01:00
David Hewitt cfb91057af frompyobject: improve error message for tuple case 2022-06-02 08:54:20 +01:00
David Hewitt 2769963536
Merge pull request #2418 from davidhewitt/update-actions
ci: update action versions
2022-06-02 08:52:07 +01:00
David Hewitt 02e6d486ea ci: update action versions 2022-06-02 07:32:51 +01:00
David Hewitt 53fd6db4e4
Merge pull request #2415 from davidhewitt/pin-3.11
ci: pin to 3.11.0-beta.1
2022-06-01 20:36:06 +01:00
David Hewitt 1fbde0e4d0 ci: pin to 3.11.0-beta.1 2022-06-01 16:03:48 +01:00
messense 8191153eba
Merge pull request #2408 from alex/frame-code-objects
Added new PyCode and PyFrame objects.
2022-06-01 10:11:59 +08:00
Alex Gaynor f6a24972e9 Added new PyCode and PyFrame objects.
They currently do not expose any APIs, but are significantly easier to work with than raw pointers :-)
2022-05-31 16:57:10 -04:00
Bruno Kolenbrander 4f9d3d7306
Protect iterators against concurrent modification (#2380) 2022-05-31 20:13:04 +01:00
messense f84c740e41
Merge pull request #2406 from alex/patch-1
Expose PyFrame_GetCode
2022-05-29 11:30:13 +08:00
Alex Gaynor 7a7926c0ff
Update pyframe.rs 2022-05-28 22:45:50 -04:00