GH-43868: [CI][Python] Skip test that requires PARQUET_TEST_DATA env on emscripten#43906
GH-43868: [CI][Python] Skip test that requires PARQUET_TEST_DATA env on emscripten#43906kou merged 5 commits intoapache:mainfrom
Conversation
|
@github-actions crossbow submit test-conda-python-emscripten |
|
|
|
Revision: 3091b519c41ce62e702fbee8f4dc7692a5bc72ff Submitted crossbow builds: ursacomputing/crossbow @ actions-d04eba703d
|
|
ok, this does not work on arrow/python/pyarrow/tests/parquet/conftest.py Lines 34 to 36 in 2767dc5 edit: added link to check |
|
cc @kou for insight. |
|
I think that we can't inject Parquet test data directory path by environment variable. But... we may be able to use https://github.com/pyodide/pyodide/blob/a448c045cf5640c5050e0c3722bafc0d58659fcc/src/js/pyodide.ts#L151-L160 : diff --git a/python/scripts/run_emscripten_tests.py b/python/scripts/run_emscripten_tests.py
index 1a4b4a4e05..79996b1f92 100644
--- a/python/scripts/run_emscripten_tests.py
+++ b/python/scripts/run_emscripten_tests.py
@@ -19,6 +19,7 @@
import argparse
import contextlib
import http.server
+import json
import os
import queue
import shutil
@@ -153,7 +154,7 @@ class NodeDriver:
self.execute_js(
f"""
const {{ loadPyodide }} = require('{dist_dir}/pyodide.js');
- let pyodide = await loadPyodide();
+ let pyodide = await loadPyodide({json.dumps({"env": {"PARQUET_TEST_DATA": os.environ.get("PARQUET_TEST_DATA")}})});
"""
)
|
|
@github-actions crossbow submit test-conda-python-emscripten |
|
|
|
Revision: 3d3708aed26eae449356f00dde909863e2c1b12a Submitted crossbow builds: ursacomputing/crossbow @ actions-8e719208e8
|
|
I was testing locally and it seems that even though the file exists at the location inside the container: The test fails: |
This comment was marked as outdated.
This comment was marked as outdated.
|
cc @joemarshall |
|
For setting the env variable, could we modify |
|
@github-actions crossbow submit test-conda-python-emscripten |
|
Pushing a test skip that works locally but happy if @joemarshall or someone else comes with a solution that does not require us to skip the test. |
|
Revision: 6a5c5143315fe3ef2d1f57ee6de7b70d3307d95c Submitted crossbow builds: ursacomputing/crossbow @ actions-e9434c5a2d
|
|
Skipping the test is certainly fine with me |
|
This seems relevant: |
|
I've been able to have the test passing locally for the NodeDriver with this (and some other minor changes): diff --git a/python/scripts/run_emscripten_tests.py b/python/scripts/run_emscripten_tests.py
index 53d3dd5..550e1a0 100644
--- a/python/scripts/run_emscripten_tests.py
+++ b/python/scripts/run_emscripten_tests.py
@@ -19,6 +19,7 @@
import argparse
import contextlib
import http.server
+import json
import os
import queue
import shutil
@@ -153,7 +154,8 @@ class NodeDriver:
self.execute_js(
f"""
const {{ loadPyodide }} = require('{dist_dir}/pyodide.js');
- let pyodide = await loadPyodide();
+ let pyodide = await loadPyodide({json.dumps({"env": {"PARQUET_TEST_DATA": "/test-data"}})});
+ pyodide.mountNodeFS("/test-data", "{os.environ.get("PARQUET_TEST_DATA")}");
"""
)
but the test still fails for the ChromeDriver, I tried a couple of things, but they just crash, so I am not sure how to do the mount for the ChromeDriver. |
Co-authored-by: Joris Van den Bossche <[email protected]>
|
@github-actions crossbow submit test-conda-python-emscripten |
|
Revision: e918ffa Submitted crossbow builds: ursacomputing/crossbow @ actions-295c35fb98
|
|
I am marking this as ready for review just skipping the test, I can create an issue as a follow up in order to mount |
|
@raulcd Can you fix this PR's title and description? |
|
After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit fe39c8f. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 3 possible false positives for unstable benchmarks that are known to sometimes produce them. |
Rationale for this change
The following PR:
Made mandatory for a test the requirement to have
PARQUET_TEST_DATAenv defined.This is currently not available from
python_test_emscripten.shas we require to mount the filesystem for both Node and ChromeDriver.What changes are included in this PR?
Skip the test that requires
PARQUET_TEST_DATAfor emscripten.Are these changes tested?
Via archery
Are there any user-facing changes?
No