mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-20 23:36:20 +00:00
build_pyodide - test wasm wheel working
This commit is contained in:
@@ -49,6 +49,19 @@ jobs:
|
|||||||
ifcopenshell_build/*/*/logs/*.log
|
ifcopenshell_build/*/*/logs/*.log
|
||||||
retention-days: 30
|
retention-days: 30
|
||||||
|
|
||||||
|
- name: Run wheel tests
|
||||||
|
run: |
|
||||||
|
cp -r IfcOpenShell/pyodide/test test
|
||||||
|
# venv set up in build_pyodide.sh.
|
||||||
|
source .venv/bin/activate
|
||||||
|
uv pip install pytest-pyodide
|
||||||
|
PYODIDE_ROOT_DIST=`pyodide config get pyodide_root`/dist
|
||||||
|
# `pytest-pyodide` requires pyodide in 'pyodide' directory in cwd, when running `pytest`.
|
||||||
|
cp -r $PYODIDE_ROOT_DIST test/pyodide
|
||||||
|
cp dist/ifcopenshell-*.whl test/pyodide
|
||||||
|
cd test
|
||||||
|
pytest --capture=no
|
||||||
|
|
||||||
- name: Pack Dependencies
|
- name: Pack Dependencies
|
||||||
run: |
|
run: |
|
||||||
cd ifcopenshell_build
|
cd ifcopenshell_build
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
|
WHEEL_FILENAME = next(
|
||||||
|
p.name for p in (Path.cwd() / "pyodide").iterdir() if p.name.startswith("ifcopenshell-") and p.suffix == ".whl"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_ifcopenshell_import(selenium):
|
||||||
|
selenium.load_package("micropip")
|
||||||
|
# Important to test it with `micropip.install`
|
||||||
|
# without any dependencies loaded to ensure micropip will load them automatically.
|
||||||
|
selenium.run_async(
|
||||||
|
f"""
|
||||||
|
import micropip
|
||||||
|
await micropip.install(f"./{WHEEL_FILENAME}")
|
||||||
|
import ifcopenshell
|
||||||
|
ifc_file = ifcopenshell.file()
|
||||||
|
wall = ifc_file.create_entity("IfcWall")
|
||||||
|
wall1 = ifc_file.by_type("IfcWall")[0]
|
||||||
|
print(wall, wall1)
|
||||||
|
assert wall == wall1, "Wall entity doesn't match"
|
||||||
|
wall.Name = "Test"
|
||||||
|
assert wall.Name == "Test", f"Entity name wasn't changed: {{wall}}"
|
||||||
|
print(wall)
|
||||||
|
"""
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user