-
Notifications
You must be signed in to change notification settings - Fork 2.2k
tests: run on pyodide #4745
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
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 <[email protected]>
Signed-off-by: Henry Schreiner <[email protected]>
Signed-off-by: Henry Schreiner <[email protected]>
b9b391c to
c9a83e5
Compare
| 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 <[email protected]> * ci: use cibuildwheel for pyodide test Signed-off-by: Henry Schreiner <[email protected]> * tests: revert changes to test_embed Signed-off-by: Henry Schreiner <[email protected]> --------- Signed-off-by: Henry Schreiner <[email protected]>
* tests: run on pyodide Signed-off-by: Henry Schreiner <[email protected]> * ci: use cibuildwheel for pyodide test Signed-off-by: Henry Schreiner <[email protected]> * tests: revert changes to test_embed Signed-off-by: Henry Schreiner <[email protected]> --------- Signed-off-by: Henry Schreiner <[email protected]>
Adding WebAssembly testing on Pyodide.
Description
Suggested changelog entry: