Implement AXIS parity UI and execution baseline

This commit is contained in:
2026-08-23 07:28:37 +08:00
parent 1325504544
commit 06f96f85e5
463 changed files with 84893 additions and 692 deletions

View File

@@ -0,0 +1,375 @@
{
"boundaries": [
"sampler/streamer/loadusr and realtime compiler paths remain explicit host/resource boundaries",
"userspace and dynamic .comp execution is HOST_EXCLUDED; custom component compile and relative headers are SOURCE_BLOCKED",
"native/WASM SimHAL golden is exact for the static component behavior exercised by the Worker fixtures"
],
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
"counts": {
"HOST_EXCLUDED": 3,
"PASSED": 3,
"SOURCE_BLOCKED": 2,
"fixture_files": 23,
"selected_cases": 8
},
"ctest": {
"command": [
"ctest",
"--test-dir",
"build-native",
"-R",
"^sim_hal_test$",
"--output-on-failure"
],
"returncode": 0,
"status": "PASSED",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout_sha256": "dd405009db8d3592009fdbc1be37e423b599a00ec20cfbd10802469c7fbc2c5d"
},
"expected_checkresult_comparison": {
"compared_byte_for_byte": false,
"fixture_hashes_verified": true,
"reason": "source HAL expected/checkresult files are retained and hashed; host halrun/sampler logs are unavailable to this static Worker adapter",
"status": "SOURCE_BLOCKED"
},
"native_wasm": {
"golden_diff": {
"byte_identical": true,
"first_difference": null,
"native_stdout_sha256": "86e28529b7a182b9109093a4130da51d6d51c1b005e4f4093622e2b4b1816332",
"status": "PASSED",
"wasm_stdout_sha256": "86e28529b7a182b9109093a4130da51d6d51c1b005e4f4093622e2b4b1816332"
},
"native": {
"command": [
"build-native/sim_hal_test"
],
"returncode": 0,
"status": "PASSED",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout_sha256": "86e28529b7a182b9109093a4130da51d6d51c1b005e4f4093622e2b4b1816332"
},
"wasm": {
"command": [
"node",
"build-wasm/sim_hal_wasm_test.js"
],
"returncode": 0,
"status": "PASSED",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout_sha256": "86e28529b7a182b9109093a4130da51d6d51c1b005e4f4093622e2b4b1816332"
}
},
"report_sha256": "5a78e507bbbb6b97863a1038f6544def682147081c34b3931897b110af2f694c",
"schema": "linuxcnc-source-hal-execution.v1",
"scope": [
"HAL regression/functional",
"static SimHAL components",
".comp declaration preflight"
],
"status": "verified",
"task_id": "S5-05",
"worker": {
"execution": {
"command": [
"node",
"web/worker/test_source_hal_s5.mjs"
],
"returncode": 0,
"status": "PASSED",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout_sha256": "41bee32bf728cc58bf7f58acc3e483353a07909fc9d7b50f2f6948e57fa8828a"
},
"fixture_hashes_verified": true,
"golden": {
"aggregate_hash": "fnv1a64:524842c82f8b7d32",
"boundaries": [
"sampler/streamer/loadusr and realtime compiler paths remain explicit host/resource boundaries",
"userspace and dynamic .comp execution is HOST_EXCLUDED; relative-header compiler is SOURCE_BLOCKED",
"Worker static HAL behavior is compared with native/WASM SimHAL evidence by the report generator"
],
"cases": [
{
"adapter": "WORKER_SIM_ADAPTER",
"fixture": [
{
"bytes": 354,
"path": "linuxcnc/tests/abs.0/test.hal",
"sha256": "ef6f60aa59d0efe54d8768b598d7e31c2aeef3d1f3ba49600bdb1d5e3b0e53cd"
},
{
"bytes": 140,
"path": "linuxcnc/tests/abs.0/expected",
"sha256": "e22258aad35e5a576cbd0fbfe0b41c78619588a266eb06feacf70df7fba9593c"
}
],
"id": "source-test:linuxcnc/tests/abs.0/test.hal",
"result": {
"negative": 1,
"out": 0.25,
"pending_commands": [
"loadrt sampler cfg=ff depth=350",
"loadrt streamer cfg=f depth=350",
"loadusr -w sh runstreamer",
"start",
"loadusr -w halsampler -n 7"
],
"positive": 0,
"sign": 1,
"state_hash": "fnv1a64:356c61ad4ff79e30",
"tick": 1
},
"result_hash": "fnv1a64:101c5be3248936e3",
"status": "PASSED"
},
{
"adapter": "WORKER_SIM_ADAPTER",
"fixture": [
{
"bytes": 604,
"path": "linuxcnc/tests/edge/rising/test.hal",
"sha256": "969b967cb577a1404b307a0c471e4ddff171071f6b430fdbd163df11bc434322"
},
{
"bytes": 70,
"path": "linuxcnc/tests/edge/rising/expected",
"sha256": "c8d3cc024d2d85f74d7dd36068ae8e1e96f29d4e6c1551ee4dce2dbfaf0c0256"
}
],
"id": "source-test:linuxcnc/tests/edge/rising/test.hal",
"result": {
"first": 0,
"last_input": 1,
"pending_commands": [
"loadrt sampler cfg=bbb depth=500",
"loadrt streamer cfg=b depth=500",
"loadusr -w sh runstreamer",
"start",
"loadusr -w halsampler -n 10"
],
"rising_output": 1,
"state_hash": "fnv1a64:353dd327aa5cb286",
"tick": 2
},
"result_hash": "fnv1a64:d7d6a30ed1ea1903",
"status": "PASSED"
},
{
"adapter": "WORKER_SIM_ADAPTER",
"fixture": [
{
"bytes": 604,
"path": "linuxcnc/tests/edge/rising-starting-high/test.hal",
"sha256": "969b967cb577a1404b307a0c471e4ddff171071f6b430fdbd163df11bc434322"
},
{
"bytes": 70,
"path": "linuxcnc/tests/edge/rising-starting-high/expected",
"sha256": "ffb7fd80c715f57eed253cdef5d5d46f37aa45eccd0807f6545d8ddc32a999c2"
}
],
"id": "source-test:linuxcnc/tests/edge/rising-starting-high/test.hal",
"result": {
"first": 0,
"last_input": 1,
"pending_commands": [
"loadrt sampler cfg=bbb depth=500",
"loadrt streamer cfg=b depth=500",
"loadusr -w sh runstreamer",
"start",
"loadusr -w halsampler -n 10"
],
"rising_output": 0,
"state_hash": "fnv1a64:2b47c0543e0ecd06",
"tick": 2
},
"result_hash": "fnv1a64:8f373ab045e4eeb4",
"status": "PASSED"
},
{
"adapter": "SOURCE_BLOCKED",
"fixture": [
{
"bytes": 90,
"path": "linuxcnc/tests/halcompile/names/names_match.comp",
"sha256": "7fe23ec58d2a4be8a0e0df215cd5b546380981f5b262dfe2e3feb325bd0db766"
},
{
"bytes": 89,
"path": "linuxcnc/tests/halcompile/names/names_dont_match.comp",
"sha256": "3091d43ff90a3fc88365458e352eb779697271c8564d93c3e0e236f5850a1395"
},
{
"bytes": 0,
"path": "linuxcnc/tests/halcompile/names/expected",
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"bytes": 578,
"path": "linuxcnc/tests/halcompile/names/test.sh",
"sha256": "9e51df39c0f19ed7bdb71deea9e2bba84bbb9550d07670bd799c209c45f8aab2"
}
],
"id": "source-test:linuxcnc/tests/halcompile/names/test.sh",
"reason": "custom .comp declarations require native halcompile and are not static Worker components",
"result": {
"matched": {
"component": "names_match",
"functions": 2,
"options": [],
"params": 0,
"pins": 1,
"state_hash": "fnv1a64:9cdea8f122f51aa4",
"status": "blocked"
},
"mismatch_expected": "compiler_component_name_mismatch",
"mismatch_parser": "blocked"
},
"result_hash": "fnv1a64:c1651e3c50532c78",
"status": "SOURCE_BLOCKED"
},
{
"adapter": "SOURCE_BLOCKED",
"fixture": [
{
"bytes": 102,
"path": "linuxcnc/tests/halcompile/relative-header/relative_header.comp",
"sha256": "1c90666b45e4676a2bcbe7fa70f3fa7a477bca7035f5dfa47738f8ccd7c77871"
},
{
"bytes": 12,
"path": "linuxcnc/tests/halcompile/relative-header/local.h",
"sha256": "4767235cb67f169cad00d920f225a05dcf4a11b3a71b215277b2ecc879ce82f0"
},
{
"bytes": 92,
"path": "linuxcnc/tests/halcompile/relative-header/checkresult",
"sha256": "943f82a615ec0a69017f39c789cb3310ea2dee034bfe780ba69445b39dd436d0"
},
{
"bytes": 61,
"path": "linuxcnc/tests/halcompile/relative-header/test.sh",
"sha256": "11b0cc0404485fd9687a25a005f7e3c307b3a51c61e8ef46050137046e7013c9"
}
],
"id": "source-test:linuxcnc/tests/halcompile/relative-header/test.sh",
"reason": "native halcompile and relative header compiler unavailable",
"result": {
"parser_component": "relative_header",
"parser_status": "blocked",
"reason": "native halcompile and relative header compiler unavailable"
},
"result_hash": "fnv1a64:bfc74683c16491c2",
"status": "SOURCE_BLOCKED"
},
{
"adapter": "HOST_EXCLUDED",
"fixture": [
{
"bytes": 642,
"path": "linuxcnc/tests/halcompile/userspace-count-names/userspace_count_names.comp",
"sha256": "db784654cc520c9b3a23fefec491937ad8a2ac1e70f96617f0ec6810542e3b34"
},
{
"bytes": 231,
"path": "linuxcnc/tests/halcompile/userspace-count-names/checkresult",
"sha256": "39a9312018e559f62ba2816e6c561a56d993a79d89f31e307a4150bbe6401dc3"
},
{
"bytes": 613,
"path": "linuxcnc/tests/halcompile/userspace-count-names/test.sh",
"sha256": "9efc72e95db53104da939ebd0d24073c23d3911e85ea31030ea9fc97a999d36b"
}
],
"id": "source-test:linuxcnc/tests/halcompile/userspace-count-names/test.sh",
"reason": "userspace component requires host process and signal APIs",
"result": {
"options": [
{
"line": 2,
"name": "userspace",
"value": null
},
{
"line": 3,
"name": "userinit",
"value": null
}
],
"parser_component": "userspace_count_names",
"parser_status": "blocked",
"reason": "userspace component requires host process and signal APIs"
},
"result_hash": "fnv1a64:ad700f5aa89d0110",
"status": "HOST_EXCLUDED"
},
{
"adapter": "HOST_EXCLUDED",
"fixture": [
{
"bytes": 117,
"path": "linuxcnc/tests/symbols.0/test_define.comp",
"sha256": "9b9b04545dc77d3778edb75c25082f91acf69c8c7766c51181856ba67ae7c384"
},
{
"bytes": 219,
"path": "linuxcnc/tests/symbols.0/checkresult",
"sha256": "605a58405e8f5d50058d582be1198f9d1c3492c4a1f0452248a8a5950c9be93d"
},
{
"bytes": 127,
"path": "linuxcnc/tests/symbols.0/test.sh",
"sha256": "ff7d6d72c87cc0f2529412c5f18d1724602552d1bbaeea8d8025a6b75a62b62f"
}
],
"id": "source-test:linuxcnc/tests/symbols.0/test.sh",
"reason": "source test invokes host halcompile/rtapi component compiler",
"result": {
"parser_component": "test_define",
"parser_status": "blocked",
"reason": "source test invokes host halcompile/rtapi component compiler"
},
"result_hash": "fnv1a64:03ce2699a48b08df",
"status": "HOST_EXCLUDED"
},
{
"adapter": "HOST_EXCLUDED",
"fixture": [
{
"bytes": 130,
"path": "linuxcnc/tests/symbols.1/test_define1.comp",
"sha256": "23de163894822c27be90f4af4076a924ab7dc8dbd41c1bdf4bf382a0c13f1a64"
},
{
"bytes": 199,
"path": "linuxcnc/tests/symbols.1/checkresult",
"sha256": "a6a00fca137dcef9d6d1bc5e22a787b1bc8ddd4840d558366523e3090e05ab3e"
},
{
"bytes": 126,
"path": "linuxcnc/tests/symbols.1/test.sh",
"sha256": "7a9a117668af8d87151a830a7c2c95ae6af81215647e1dbd28b71dae5077c8aa"
}
],
"id": "source-test:linuxcnc/tests/symbols.1/test.sh",
"reason": "source test invokes host halcompile/rtapi component compiler",
"result": {
"parser_component": "test_define1",
"parser_status": "blocked",
"reason": "source test invokes host halcompile/rtapi component compiler"
},
"result_hash": "fnv1a64:d1a01ae5002e23e6",
"status": "HOST_EXCLUDED"
}
],
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
"counts": {
"HOST_EXCLUDED": 3,
"PASSED": 3,
"SOURCE_BLOCKED": 2
},
"fixture_file_count": 23,
"schema": "linuxcnc-source-hal-adapter.v1"
}
}
}