Conversation
|
I can generate another docker image. But indeed, should it be 3.12.6 or 3.12.7? |
|
The test-python tests are failing because this PR fixed the error messages raised by |
|
3.12.7 please |
|
The docker image won't build because I'm getting a 404 from |
|
Trying replacing the download URL with https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb. |
|
I'm currently pushing pyodide/pyodide-env:20241106-chrome130-firefox132, should be available in a few minutes. |
Hmm, does the variable not replaced? I cannot reproduce it locally. Anyway, we'll probably need to add some automated test to test our dockerfile. |
09d08b1 to
5f2b45a
Compare
|
So it looks like for the core tests we need to skip or xfail |
| assert exc_info_2a.value.args == exc_info_2b.value.args | ||
| assert exc_info_3a.value.args == exc_info_3b.value.args | ||
| assert exc_info_3a.value.args == "must assign iterable to extended slice" # type: ignore[comparison-overlap] | ||
| assert exc_info_3b.value.args == "can only assign an iterable" # type: ignore[comparison-overlap] |
There was a problem hiding this comment.
I guess we want to update the code so that the error that the JS Array raises matches the new Python error message.
There was a problem hiding this comment.
I tried modifying src/core/jsproxy.c but cannot figure out how to modify exc_info_3a.value.args without also modifying exc_info_3b.value.args.
https://github.com/search?q=repo%3Apyodide%2Fpyodide+%22can+only+assign+an+iterable%22&type=code
There was a problem hiding this comment.
I'm not sure what you mean. The test passes if I apply this change:`
diff --git a/src/core/jsproxy.c b/src/core/jsproxy.c
index 711b15e1..4e3b3d09 100644
--- a/src/core/jsproxy.c
+++ b/src/core/jsproxy.c
@@ -1698,7 +1698,7 @@ JsArray_ass_subscript(PyObject* self, PyObject* item, PyObject* pyvalue)
slicelength = PySlice_AdjustIndices(length, &start, &stop, step);
if (pyvalue != NULL) {
- seq = PySequence_Fast(pyvalue, "can only assign an iterable");
+ seq = PySequence_Fast(pyvalue, "must assign iterable to extended slice");
FAIL_IF_NULL(seq);
}
if (pyvalue != NULL && step != 1 &&
diff --git a/src/tests/test_jsproxy.py b/src/tests/test_jsproxy.py
index d8208ecc..26bc88a5 100644
--- a/src/tests/test_jsproxy.py
+++ b/src/tests/test_jsproxy.py
@@ -1520,8 +1520,7 @@ def test_array_slice_assign_2(selenium):
assert exc_info_1a.value.args == exc_info_1b.value.args
assert exc_info_2a.value.args == exc_info_2b.value.args
- assert exc_info_3a.value.args == ("must assign iterable to extended slice",)
- assert exc_info_3b.value.args == ("can only assign an iterable",)
+ assert exc_info_3a.value.args == exc_info_3b.value.args
@std_hypothesis_settings73035a9 to
5ac054f
Compare
|
How could so much change between Python 3.12.1 and 3.12.7? |
|
I'll look into failing tests. You should be able to run them locally with: python3.12 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
make
pytest src/tests/test_core_python.py |
|
Are you getting: it's a bit perplexing I'll look into it. |
|
Looks like python/cpython#117982 caused the trouble. We probably need to update |
|
Okay the core Python tests all pass when I run locally now. Fingers crossed they work in CI too. |
|
Opened a PR to fix |
|
I'm okay with using the downgraded selenium for now. @ryanking13 you have any objection? |
|
It was the |
|
https://pyodide.org/en/stable/console.html vs. Do you distinguish between |
|
|
|
Okay core test suite looking good. @ryanking13 can you look at the pygame-ce build error? |
|
pygame-ce-2.4.1 pyodide/packages/pygame-ce/meta.yaml Line 7 in 912ccca vs. pygame-ce-2.5.2 at https://pypi.org/project/pygame-ce however this repo contains a few patches for pygame-ce.
https://github.com/search?q=repo%3Apyodide%2Fpyodide%20pygame-ce |
No objection. |
I am not sure about the build error, but it seems like there was some change in the problematic files in recent pygame-ce. So let me try updating the pygame-ce version and see what happens. |
|
Can you add a changelog entry? Other than that looks good to go if CI passes. |
for more information, see https://pre-commit.ci
c1b5a7f to
655a0e5
Compare
|
Dedicated to the great work of @okken As he implied at https://www.youtube.com/watch?v=EB2emah5d5g&t=9m40s Python 3.12.1 is a bit out of date ;-) |
|
We try to stay on a version that is at most 18 months old =) |
|
Thanks @cclauss! |
Was an update to
|
|
No, only after Pyodide is released. |
|
Great! https://pyodide.org/en/latest/console.html is now 3.12.7. |
Description
As discussed here, let's try upgrading from Python 3.12.1 to 3.12.7.
https://github.com/pyodide/pyodide/blob/main/docs/development/maintainers.md#upgrading-pyodide-to-a-new-version-of-cpython
https://github.com/pyodide/pyodide/blob/main/docs/development/maintainers.md#old-major-python-upgrades
Issues:
Should this PR focus on 3.12.6 or3.12.7?test-pythonpytests related to positional-only parameters fail:test_pyodide.py::relaxed_calltest_pyodide.py::relaxed_wraptest-core (macos-14, selenium, safari)tests fail.sphinx-js 3.2.1 requires markupsafe==2.0.1, but you have markupsafe 3.0.2 which is incompatible.pyodide/docs/requirements-doc.txt
Line 25 in 0adc6d0
sphinx-js? Unsortedrequirementsfiles are painful to read.Checklists
@okken