Refactor named workers test to avoid circular dependencies + free CI (#2212)

* Refactor named workers test to avoid circular dependencies + free CI
This commit is contained in:
Andrea Giammarchi
2024-10-08 14:58:22 +02:00
committed by GitHub
parent febbb031ac
commit a6b6dd8479
15 changed files with 79 additions and 84 deletions

View File

@@ -0,0 +1,18 @@
<!doctype html>
<html lang="en">
<head>
<title>mpy using py named worker</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<script type="module" src="../../../../dist/core.js"></script>
</head>
<body>
<script type="mpy" config="../config.toml">
from pyscript import create_named_worker
await create_named_worker("../worker.py", name="pyodide_version", type="py")
from test import test
await test("pyodide_version")
</script>
</body>
</html>

View File

@@ -1,30 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<script type="module" src="../../../dist/core.js"></script>
</head>
<body>
<script type="mpy" async>
from pyscript import create_named_worker
await create_named_worker("./worker.py", name="micropython_version", type="mpy")
</script>
<script type="mpy" config="./config.toml" async>
from test import test
await test("mpy")
</script>
<script type="py" config="./config.toml" async>
from test import test
await test("py")
</script>
<script type="py" name="pyodide_version" worker>
def pyodide_version():
import sys
return sys.version
__export__ = ['pyodide_version']
</script>
</body>
</html>

View File

@@ -0,0 +1,16 @@
<!doctype html>
<html lang="en">
<head>
<title>mpy using py named worker</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<script type="module" src="../../../../dist/core.js"></script>
</head>
<body>
<script type="mpy" config="../config.toml">
from test import test
await test("pyodide_version")
</script>
<script type="py" src="../worker.py" name="pyodide_version" worker></script>
</body>
</html>

View File

@@ -1,29 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<title>named workers</title>
<script type="module" src="../../../dist/core.js"></script>
</head>
<body>
<script type="mpy" async>
from pyscript import workers
await (await workers["mpy"]).greetings()
await (await workers["py"]).greetings()
</script>
<script type="mpy" worker name="mpy">
def greetings():
print("micropython")
__export__ = ['greetings']
</script>
<script type="py" worker name="py">
def greetings():
print("pyodide")
__export__ = ['greetings']
</script>
</body>
</html>

View File

@@ -0,0 +1,16 @@
<!doctype html>
<html lang="en">
<head>
<title>py using mpy named worker</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<script type="module" src="../../../../dist/core.js"></script>
</head>
<body>
<script type="py" config="../config.toml">
from test import test
await test("micropython_version")
</script>
<script type="mpy" src="../worker.py" name="micropython_version" worker></script>
</body>
</html>

View File

@@ -1,19 +1,13 @@
from pyscript import document, workers
async def test(interpreter):
# accessed as item
named = await workers.micropython_version
async def test(name):
# retrieve sync utilities from the named worker
named = await workers[name]
version = await named.micropython_version()
# invoke the runtime_version __export__ + show it
version = await named.runtime_version()
document.body.append(version)
document.body.append(document.createElement("hr"))
# accessed as attribute
named = await workers["pyodide_version"]
version = await named.pyodide_version()
document.body.append(version)
document.body.append(document.createElement("hr"))
document.documentElement.classList.add(interpreter)
# flag the expectations around name done
document.documentElement.classList.add(name)

View File

@@ -1,7 +1,7 @@
def micropython_version():
def runtime_version():
import sys
return sys.version
__export__ = ["micropython_version"]
__export__ = ['runtime_version']