-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
tests: run on pyodide #4745
tests: run on pyodide #4745
Conversation
1932d36
to
0e4d3bd
Compare
Do you already understand the Python 3.12 failures? When I saw them previously I decided to trigger a CI run with master as-is (#3939) and I don't see any errors there. |
0e4d3bd
to
cc090fc
Compare
I don't understand how this could be adding errors on 3.12. No code changes that I see. 🤷 |
My best guess: some change in the environment triggers a latent bug in 3.12 (or how we use 3.12). Could tests/pyproject.toml have something to do with it? |
f327847
to
c5b493c
Compare
c5b493c
to
80618dd
Compare
80618dd
to
b658159
Compare
b658159
to
f2536eb
Compare
58117d8
to
3fc4ea6
Compare
Importing pytest or sys (probably pytest) inside test_embed causes Python 3.12 to segfault. b9b391c fixed the issues - we don't really need to do it, since we are avoiding these anyway on Pyodide. But why? How? |
And the interesting question: Should we add |
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
b9b391c
to
c9a83e5
Compare
import pytest | ||
|
||
asyncio = pytest.importorskip("asyncio") | ||
m = pytest.importorskip("pybind11_tests.async_module") | ||
|
||
if sys.platform.startswith("emscripten"): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome to have test coverage for WASM!
Sorry I missed that this PR was marked as ready for review (last time I looked there were still test failures).
Just a minor question:
Did you consider adding something like this to tests/env.py?
import pytest
+EMSCRIPTEN = sys.platform.startswith("emscripten")
LINUX = sys.platform.startswith("linux")
MACOS = sys.platform.startswith("darwin")
WIN = sys.platform.startswith("win32") or sys.platform.startswith("cygwin")
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't like these very much. It makes a bit of sense for WIN (since it's a bit lengthy and combining two conditions - which would be better written sys.platform.startswith(("win32", "cygwin"))
, and I'm not sure it's right - often Cygwin acts a bit more like Linux), but the others are not really much clearer than the standard expression.
* tests: run on pyodide Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> * ci: use cibuildwheel for pyodide test Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> * tests: revert changes to test_embed Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> --------- Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* tests: run on pyodide Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> * ci: use cibuildwheel for pyodide test Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> * tests: revert changes to test_embed Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> --------- Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Adding WebAssembly testing on Pyodide.
Description
Suggested changelog entry: