MCPcopy
hub / github.com/urllib3/urllib3 / emscripten

Function emscripten

noxfile.py:261–319  ·  view source on GitHub ↗

Test on Emscripten with Pyodide & Chrome / Firefox / Node.js

(session: nox.Session, runner: str)

Source from the content-addressed store, hash-verified

259 "runner", ["node", "firefox", "chrome"], ids=["node", "firefox", "chrome"]
260)
261def emscripten(session: nox.Session, runner: str) -> None:
262 """Test on Emscripten with Pyodide & Chrome / Firefox / Node.js"""
263 session.env["UV_PROJECT_ENVIRONMENT"] = session.virtualenv.location
264 if runner == "node":
265 print(
266 "Node version:",
267 session.run("node", "--version", silent=True, external=True),
268 )
269 # make sure we have a dist dir for pyodide
270 dist_dir = None
271 if "PYODIDE_ROOT" in os.environ:
272 # we have a pyodide build tree checked out
273 # use the dist directory from that
274 dist_dir = Path(os.environ["PYODIDE_ROOT"]) / "dist"
275 else:
276 # we don't have a build tree
277 pyodide_version = "0.29.3"
278
279 pyodide_artifacts_path = Path(session.cache_dir) / f"pyodide-{pyodide_version}"
280 if not pyodide_artifacts_path.exists():
281 print("Fetching pyodide build artifacts")
282 session.run(
283 "curl",
284 "-L",
285 f"https://github.com/pyodide/pyodide/releases/download/{pyodide_version}/pyodide-{pyodide_version}.tar.bz2",
286 "--output-dir",
287 session.cache_dir,
288 "-O",
289 external=True,
290 )
291 pyodide_artifacts_path.mkdir(parents=True)
292 session.run(
293 "tar",
294 "-xjf",
295 f"{pyodide_artifacts_path}.tar.bz2",
296 "-C",
297 str(pyodide_artifacts_path),
298 "--strip-components",
299 "1",
300 external=True,
301 )
302
303 dist_dir = pyodide_artifacts_path
304 session.run("uv", "run", "-m", "build")
305 assert dist_dir is not None
306 assert dist_dir.exists()
307 tests_impl(
308 session,
309 extras="",
310 pytest_extra_args=[
311 "--runtime",
312 f"{runner}-no-host",
313 "--dist-dir",
314 str(dist_dir),
315 "test/contrib/emscripten",
316 "-v",
317 ],
318 dependency_group="emscripten",

Callers

nothing calls this directly

Calls 2

tests_implFunction · 0.85
runMethod · 0.45

Tested by

no test coverage detected