Fix #1512 - Improve worker tests + update Pyodide (#1513)

* Fix #1512 - Improve worker tests + update Pyodide

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
Andrea Giammarchi
2023-06-08 17:39:01 +02:00
committed by GitHub
parent 7d3b792a79
commit 50b1a1d7c5
6 changed files with 12 additions and 20 deletions

View File

@@ -14,11 +14,12 @@ const type = "pyodide";
/* c8 ignore start */
export default {
type: [type, "py"],
module: (version = "0.22.1") =>
module: (version = "0.23.2") =>
`https://cdn.jsdelivr.net/pyodide/v${version}/full/pyodide.mjs`,
async engine({ loadPyodide }, config) {
async engine({ loadPyodide }, config, url) {
const { stderr, stdout, get } = stdio();
const runtime = await get(loadPyodide({ stderr, stdout }));
const indexURL = url.slice(0, url.lastIndexOf("/"));
const runtime = await get(loadPyodide({ stderr, stdout, indexURL }));
if (config.fetch) await fetchPaths(this, runtime, config.fetch);
if (config.packages) {
await runtime.loadPackage("micropip");

View File

@@ -1,7 +1,7 @@
{
"imports": {
"http://pyodide": "./test/mocked/pyodide.mjs",
"https://cdn.jsdelivr.net/pyodide/v0.22.1/full/pyodide.mjs": "./test/mocked/pyodide.mjs",
"https://cdn.jsdelivr.net/pyodide/v0.23.2/full/pyodide.mjs": "./test/mocked/pyodide.mjs",
"http://localhost:8080/micropython/micropython.mjs": "./test/mocked/micropython.mjs",
"https://cdn.jsdelivr.net/npm/basic-toml@0.3.1/es.js": "./test/mocked/toml.mjs"
}

View File

@@ -50,6 +50,6 @@
"coincident": "^0.2.3"
},
"worker": {
"blob": "sha256-XIl723wj4b0gyB5IGnLem05DRvl5bzkeMahwAmQFMrM="
"blob": "sha256-s/Qe9L8Mxmdjzk/TnVwmMYA5AvEemsRkOeqtZG6uBLM="
}
}

View File

@@ -69,7 +69,7 @@ const { registerPlugin } = require("../cjs");
// all tests
for (const test of [
async function versionedRuntime() {
document.head.innerHTML = `<script type="py" version="0.22.1">${content}</script>`;
document.head.innerHTML = `<script type="py" version="0.23.2">${content}</script>`;
await tick();
assert(pyodide.content, content);
assert(pyodide.target.tagName, "PY-SCRIPT");

View File

@@ -14,9 +14,9 @@
}
}
</script>
<script defer src="../counter.js"></script>
</head>
<body>
<div>See console ➡️</div>
<!-- XWorker - JavaScript to MicroPython -->
<script type="module">
import { XWorker } from "@pyscript/core";
@@ -63,17 +63,5 @@
w.postMessage('MicroPython: Hello Lua 👋')
w.onmessage = handle_message
</script>
<!-- XWorker - MicroPython to Ruby
<script type="mpy">
from js import XWorker
def handle_message(event):
print(event.data)
w = XWorker('./worker.rb', type="rb")
w.postMessage('MicroPython: Hello Ruby 👋')
w.onmessage = handle_message
</script><!---->
</body>
</html>

View File

@@ -1,9 +1,12 @@
import re
from js import xworker
def on_message(event):
print(event.data)
xworker.postMessage("Pyodide: Hello MicroPython 👋")
foreign = re.search("^[^:]+", event.data).group(0)
xworker.postMessage("Python: Hello " + foreign + " 👋")
xworker.onmessage = on_message