Skip to content

Commit a51af58

Browse files
committed
Add adapter for jco
1 parent 9b0f840 commit a51af58

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

adapters/jco.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import subprocess
2+
import os
3+
import shlex
4+
from pathlib import Path
5+
from typing import Dict, List, Tuple
6+
7+
# shlex.split() splits according to shell quoting rules
8+
JCO = shlex.split(os.getenv("JCO", "jco"))
9+
10+
11+
def get_name() -> str:
12+
return "jco"
13+
14+
15+
def get_version() -> str:
16+
result = subprocess.run(JCO + ["--version"],
17+
encoding="UTF-8", capture_output=True,
18+
check=True)
19+
return result.stdout.strip()
20+
21+
22+
def get_wasi_versions() -> List[str]:
23+
return ["wasm32-wasip2", "wasm32-wasip3"]
24+
25+
26+
def compute_argv(test_path: str,
27+
args: List[str],
28+
env: Dict[str, str],
29+
dirs: List[Tuple[Path, str]],
30+
wasi_version: str) -> List[str]:
31+
argv = [] + JCO
32+
argv += ["run"]
33+
for k, v in env.items():
34+
argv += ["--env", f"{k}={v}"]
35+
for host, guest in dirs:
36+
argv += ["--dir", f"{host}::{guest}"] # noqa: E231
37+
argv += [test_path]
38+
argv += args
39+
return argv

0 commit comments

Comments
 (0)