Initial LinuxCNC WebAssembly workspace snapshot

This commit is contained in:
2026-08-20 18:21:15 +08:00
commit 5dd614c335
92 changed files with 200203 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
#!/usr/bin/env python3
import json
import sys
import unittest
from pathlib import Path
from tempfile import TemporaryDirectory
sys.path.insert(0, str(Path(__file__).resolve().parent))
from native_runner import compare_golden, run_entry
class NativeRunnerTests(unittest.TestCase):
def setUp(self):
self.directory = TemporaryDirectory()
self.root = Path(self.directory.name)
(self.root / "linuxcnc/tests/demo").mkdir(parents=True)
(self.root / "linuxcnc/tests/demo/test.sh").write_text("#!/bin/sh\nprintf 'ok\\n'\n", encoding="utf-8")
(self.root / "artifacts").mkdir()
def tearDown(self):
self.directory.cleanup()
def entry(self, portability="portable_candidate"):
return {
"test_source_id": "test:linuxcnc/tests/demo/test.sh",
"path": "linuxcnc/tests/demo/test.sh",
"command": "bash linuxcnc/tests/demo/test.sh",
"portability": portability,
"parse_status": "parsed",
"source_sha": "source",
}
def test_fixed_runner_emits_stable_content_hashes(self):
result = run_entry(self.root, self.entry(), self.root / "artifacts", 5)
self.assertEqual(result["status"], "passed")
self.assertEqual(result["stdout"], "ok\n")
self.assertEqual(result["cwd"], "linuxcnc/tests/demo")
self.assertRegex(result["result_sha256"], r"^[0-9a-f]{64}$")
def test_real_excluded_is_not_executed_without_override(self):
result = run_entry(self.root, self.entry("REAL-EXCLUDED"), self.root / "artifacts", 5)
self.assertEqual(result["status"], "REAL-EXCLUDED")
self.assertNotIn("exit_code", result)
def test_golden_comparison_is_explicit(self):
actual = {"status": "passed", "exit_code": 0}
self.assertEqual(compare_golden(actual, {"schema": "native-golden.v1", "expected": actual})["status"], "passed")
self.assertEqual(compare_golden(actual, {"schema": "native-golden.v1", "expected": {"exit_code": 1}})["status"], "different")
self.assertEqual(compare_golden(actual, {"schema": "unknown", "expected": actual})["status"], "blocked")
if __name__ == "__main__":
unittest.main()