Implement AXIS parity UI and execution baseline
This commit is contained in:
407
coverage/linuxcnc-source-io-s5.report.json
Normal file
407
coverage/linuxcnc-source-io-s5.report.json
Normal file
@@ -0,0 +1,407 @@
|
||||
{
|
||||
"boundaries": [
|
||||
"startup tool table resolution remains SOURCE_BLOCKED until full Task/configuration startup is available",
|
||||
"motion logger abort remains WORKER_TASK_MOTION_PENDING",
|
||||
"ClassicLadder and realtime hardware paths remain HOST_EXCLUDED",
|
||||
"native/WASM IO and device outputs are byte-identical for static fixtures"
|
||||
],
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"counts": {
|
||||
"HOST_EXCLUDED": 1,
|
||||
"PASSED": 3,
|
||||
"SOURCE_BLOCKED": 2,
|
||||
"WORKER_TASK_MOTION_PENDING": 1,
|
||||
"fixture_files": 30,
|
||||
"selected_cases": 7
|
||||
},
|
||||
"ctest": {
|
||||
"command": [
|
||||
"ctest",
|
||||
"--test-dir",
|
||||
"build-native",
|
||||
"-R",
|
||||
"^(sim_io_test|sim_device_io_test)$",
|
||||
"--output-on-failure"
|
||||
],
|
||||
"returncode": 0,
|
||||
"status": "PASSED",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "b238b3ab8e42620369a7cb4b081873cd08dbea19ceb849424c19ee82b439a65c"
|
||||
},
|
||||
"expected_checkresult_comparison": {
|
||||
"compared_byte_for_byte": false,
|
||||
"fixture_hashes_verified": true,
|
||||
"reason": "source IO/startup/tool expected/checkresult files are retained and hashed; host GUI/configuration oracle is unavailable to the Worker adapter",
|
||||
"status": "SOURCE_BLOCKED"
|
||||
},
|
||||
"native_wasm": {
|
||||
"sim_device_io": {
|
||||
"golden_diff": {
|
||||
"byte_identical": true,
|
||||
"first_difference": null,
|
||||
"native_stdout_sha256": "0d61cefc36cc59dffac89a052a3b955bfe15fbaf02525d529169a54d3e17e234",
|
||||
"status": "PASSED",
|
||||
"wasm_stdout_sha256": "0d61cefc36cc59dffac89a052a3b955bfe15fbaf02525d529169a54d3e17e234"
|
||||
},
|
||||
"native": {
|
||||
"command": [
|
||||
"build-native/sim_device_io_test"
|
||||
],
|
||||
"returncode": 0,
|
||||
"status": "PASSED",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "0d61cefc36cc59dffac89a052a3b955bfe15fbaf02525d529169a54d3e17e234"
|
||||
},
|
||||
"wasm": {
|
||||
"command": [
|
||||
"node",
|
||||
"build-wasm/sim_device_io_wasm_test.js"
|
||||
],
|
||||
"returncode": 0,
|
||||
"status": "PASSED",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "0d61cefc36cc59dffac89a052a3b955bfe15fbaf02525d529169a54d3e17e234"
|
||||
}
|
||||
},
|
||||
"sim_io": {
|
||||
"golden_diff": {
|
||||
"byte_identical": true,
|
||||
"first_difference": null,
|
||||
"native_stdout_sha256": "c8f4ca0cb1e8931b8a75d13b2d537629367aacb181bee261231fdd6f19afbdd0",
|
||||
"status": "PASSED",
|
||||
"wasm_stdout_sha256": "c8f4ca0cb1e8931b8a75d13b2d537629367aacb181bee261231fdd6f19afbdd0"
|
||||
},
|
||||
"native": {
|
||||
"command": [
|
||||
"build-native/sim_io_test"
|
||||
],
|
||||
"returncode": 0,
|
||||
"status": "PASSED",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "c8f4ca0cb1e8931b8a75d13b2d537629367aacb181bee261231fdd6f19afbdd0"
|
||||
},
|
||||
"wasm": {
|
||||
"command": [
|
||||
"node",
|
||||
"build-wasm/sim_io_wasm_test.js"
|
||||
],
|
||||
"returncode": 0,
|
||||
"status": "PASSED",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "c8f4ca0cb1e8931b8a75d13b2d537629367aacb181bee261231fdd6f19afbdd0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"report_sha256": "797162801950d212a5cebe0e4ba68f0e2d1dfaf04c390286a42c26ecefe9c3b4",
|
||||
"schema": "linuxcnc-source-io-execution.v1",
|
||||
"scope": [
|
||||
"IO",
|
||||
"startup tool table",
|
||||
"toolchanger ack",
|
||||
"hard limits",
|
||||
"limit3",
|
||||
"motion abort",
|
||||
"ClassicLadder boundary"
|
||||
],
|
||||
"status": "verified",
|
||||
"task_id": "S5-06",
|
||||
"worker": {
|
||||
"execution": {
|
||||
"command": [
|
||||
"node",
|
||||
"web/worker/test_source_io_s5.mjs"
|
||||
],
|
||||
"returncode": 0,
|
||||
"status": "PASSED",
|
||||
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"stdout_sha256": "21f2950bff929b403137feddce1e4b27e7535e8b58bc7493b4bc4ca43dce359b"
|
||||
},
|
||||
"fixture_hashes_verified": true,
|
||||
"golden": {
|
||||
"aggregate_hash": "fnv1a64:77ddfb5c858175d5",
|
||||
"boundaries": [
|
||||
"startup tool table resolution remains SOURCE_BLOCKED until full Task/configuration startup is available",
|
||||
"motion logger abort remains WORKER_TASK_MOTION_PENDING; no GUI or wall-clock result is promoted",
|
||||
"ClassicLadder and realtime hardware paths remain HOST_EXCLUDED"
|
||||
],
|
||||
"cases": [
|
||||
{
|
||||
"adapter": "WORKER_SIM_ADAPTER",
|
||||
"fixture": [
|
||||
{
|
||||
"bytes": 79,
|
||||
"path": "linuxcnc/tests/hard-limits/test.sh",
|
||||
"sha256": "bb5ddfad3ddc8437fe82d28ec0a3c0fe83e85b0fb6e7899c7bad2c419f1afed8"
|
||||
},
|
||||
{
|
||||
"bytes": 1265,
|
||||
"path": "linuxcnc/tests/hard-limits/hard-limits.ini",
|
||||
"sha256": "891059113a5ca0ccf655d35fd0f658c55cb94041fb884deee9d9aef0d3e494c9"
|
||||
},
|
||||
{
|
||||
"bytes": 486,
|
||||
"path": "linuxcnc/tests/hard-limits/hard-limits.hal",
|
||||
"sha256": "edd3f749b8cdcabd9a2372de84974ac07c17f089d5b69075660cdda960526851"
|
||||
},
|
||||
{
|
||||
"bytes": 122,
|
||||
"path": "linuxcnc/tests/hard-limits/checkresult",
|
||||
"sha256": "928f7d32ba9bd32b991ffd9de98a75e824f8523a8cc38f69774065a929e33897"
|
||||
}
|
||||
],
|
||||
"id": "source-test:linuxcnc/tests/hard-limits/test.sh",
|
||||
"result": {
|
||||
"axis": 0.01,
|
||||
"fault": "limit",
|
||||
"limit": true,
|
||||
"state_hash": "fnv1a64:9425dd05174f8298",
|
||||
"tick": 1
|
||||
},
|
||||
"result_hash": "fnv1a64:90ad1618f904ed4d",
|
||||
"status": "PASSED"
|
||||
},
|
||||
{
|
||||
"adapter": "WORKER_SIM_ADAPTER",
|
||||
"fixture": [
|
||||
{
|
||||
"bytes": 292,
|
||||
"path": "linuxcnc/tests/limit3/limit-max-velocity/test.hal",
|
||||
"sha256": "d439dee0b8daf92a498077162932acc6e9f16236a3d9acc7f94c8adff07fa101"
|
||||
},
|
||||
{
|
||||
"bytes": 12472,
|
||||
"path": "linuxcnc/tests/limit3/limit-max-velocity/expected",
|
||||
"sha256": "9afb379fee3ce80cf7f314b083a101aa599644eca67c9fc1896fefd92140bc4d"
|
||||
}
|
||||
],
|
||||
"id": "source-test:linuxcnc/tests/limit3/limit-max-velocity/test.hal",
|
||||
"result": {
|
||||
"axis": 0.5,
|
||||
"fault": "following_error",
|
||||
"following_error": 0.02,
|
||||
"state_hash": "fnv1a64:ec92f105cb34c6da",
|
||||
"tick": 1
|
||||
},
|
||||
"result_hash": "fnv1a64:5a1d18ec78bc0262",
|
||||
"status": "PASSED"
|
||||
},
|
||||
{
|
||||
"adapter": "WORKER_SIM_ADAPTER",
|
||||
"fixture": [
|
||||
{
|
||||
"bytes": 92,
|
||||
"path": "linuxcnc/tests/toolchanger/m61/test.sh",
|
||||
"sha256": "11aa8c2af0163b7c9a736507c3ea89bcdae717f30dcd86be61641e2ef1aa77bb"
|
||||
},
|
||||
{
|
||||
"bytes": 67,
|
||||
"path": "linuxcnc/tests/toolchanger/m61/checkresult",
|
||||
"sha256": "c210d3eea8c126de9ad24c7f528df7ca22fed21c48399d49f4c852116c6ab1aa"
|
||||
},
|
||||
{
|
||||
"bytes": 1971,
|
||||
"path": "linuxcnc/tests/toolchanger/m61/m61-test.ini",
|
||||
"sha256": "eee36d051ed62d0e3b47980001c1654b25616155a9b9d31547b13f333610e34d"
|
||||
},
|
||||
{
|
||||
"bytes": 2056,
|
||||
"path": "linuxcnc/tests/toolchanger/m61/mod_core_sim.hal",
|
||||
"sha256": "ea61e3971fcf818ba590c4434672c0ef91cd39ddc3e847825e0057f7aee5f5cf"
|
||||
},
|
||||
{
|
||||
"bytes": 8356,
|
||||
"path": "linuxcnc/tests/toolchanger/m61/test-ui.py",
|
||||
"sha256": "800b0ef1bd1f7fdeb77af4de22d1cededfc21cb0441c18c879b661acecdc93f7"
|
||||
}
|
||||
],
|
||||
"id": "source-test:linuxcnc/tests/toolchanger/m61/test.sh",
|
||||
"result": {
|
||||
"command": {
|
||||
"ack_tick": 1,
|
||||
"deadline_tick": 2,
|
||||
"issued_tick": 0,
|
||||
"kind": "TOOL_CHANGE",
|
||||
"operation_id": "tool-change-7",
|
||||
"side_effect_count": 1,
|
||||
"status": "acked"
|
||||
},
|
||||
"state_hash": "fnv1a64:7ad2320cbbbb8f5f"
|
||||
},
|
||||
"result_hash": "fnv1a64:a8cd1748e9f419af",
|
||||
"status": "PASSED"
|
||||
},
|
||||
{
|
||||
"adapter": "SOURCE_BLOCKED",
|
||||
"fixture": [
|
||||
{
|
||||
"bytes": 2,
|
||||
"path": "linuxcnc/tests/io-startup/nonrandom/no-tool-in-P0/expected-startup-tool-number",
|
||||
"sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa"
|
||||
},
|
||||
{
|
||||
"bytes": 79,
|
||||
"path": "linuxcnc/tests/io-startup/nonrandom/no-tool-in-P0/tool.tbl.original",
|
||||
"sha256": "1db74ae9166fe086158f4b19442a2360785b55202cb48bf7230df7b9da610f8c"
|
||||
},
|
||||
{
|
||||
"bytes": 1834,
|
||||
"path": "linuxcnc/tests/io-startup/nonrandom/test.ini",
|
||||
"sha256": "76d7285e12c851859615c98dda9df6969fc38b30f4f8186b2ea9f53680e28da3"
|
||||
},
|
||||
{
|
||||
"bytes": 85,
|
||||
"path": "linuxcnc/tests/io-startup/shared-test.sh",
|
||||
"sha256": "e96aefc914933c4aa51d0c94c642a9698c404f6a9863d05fa4073cb98956e006"
|
||||
},
|
||||
{
|
||||
"bytes": 67,
|
||||
"path": "linuxcnc/tests/io-startup/checkresult",
|
||||
"sha256": "c210d3eea8c126de9ad24c7f528df7ca22fed21c48399d49f4c852116c6ab1aa"
|
||||
}
|
||||
],
|
||||
"id": "source-test:linuxcnc/tests/io-startup/nonrandom/no-tool-in-p0/test.sh",
|
||||
"reason": "startup tool table requires full Task/configuration runtime",
|
||||
"result": {
|
||||
"expected_startup_tool": 0,
|
||||
"reason": "startup tool table requires full Task/configuration runtime"
|
||||
},
|
||||
"result_hash": "fnv1a64:7c207a1152e52b38",
|
||||
"status": "SOURCE_BLOCKED"
|
||||
},
|
||||
{
|
||||
"adapter": "SOURCE_BLOCKED",
|
||||
"fixture": [
|
||||
{
|
||||
"bytes": 2,
|
||||
"path": "linuxcnc/tests/io-startup/nonrandom/tool-in-P0/expected-startup-tool-number",
|
||||
"sha256": "9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa"
|
||||
},
|
||||
{
|
||||
"bytes": 79,
|
||||
"path": "linuxcnc/tests/io-startup/nonrandom/tool-in-P0/tool.tbl.original",
|
||||
"sha256": "509dee0e1ce678f6aa08c6612fae0f537959885f0858f0d94faa32d388c887c1"
|
||||
},
|
||||
{
|
||||
"bytes": 1834,
|
||||
"path": "linuxcnc/tests/io-startup/nonrandom/test.ini",
|
||||
"sha256": "76d7285e12c851859615c98dda9df6969fc38b30f4f8186b2ea9f53680e28da3"
|
||||
},
|
||||
{
|
||||
"bytes": 85,
|
||||
"path": "linuxcnc/tests/io-startup/shared-test.sh",
|
||||
"sha256": "e96aefc914933c4aa51d0c94c642a9698c404f6a9863d05fa4073cb98956e006"
|
||||
},
|
||||
{
|
||||
"bytes": 67,
|
||||
"path": "linuxcnc/tests/io-startup/checkresult",
|
||||
"sha256": "c210d3eea8c126de9ad24c7f528df7ca22fed21c48399d49f4c852116c6ab1aa"
|
||||
}
|
||||
],
|
||||
"id": "source-test:linuxcnc/tests/io-startup/nonrandom/tool-in-p0/test.sh",
|
||||
"reason": "startup tool table requires full Task/configuration runtime",
|
||||
"result": {
|
||||
"expected_startup_tool": 0,
|
||||
"reason": "startup tool table requires full Task/configuration runtime"
|
||||
},
|
||||
"result_hash": "fnv1a64:7c207a1152e52b38",
|
||||
"status": "SOURCE_BLOCKED"
|
||||
},
|
||||
{
|
||||
"adapter": "WORKER_TASK_MOTION_PENDING",
|
||||
"fixture": [
|
||||
{
|
||||
"bytes": 183,
|
||||
"path": "linuxcnc/tests/motion-logger/startup-gcode-abort/test.sh",
|
||||
"sha256": "46f57af48221b1c3f17e3b9e68d6cdd1c55052a0d37b3aa4ef4afc197f22f913"
|
||||
},
|
||||
{
|
||||
"bytes": 2212,
|
||||
"path": "linuxcnc/tests/motion-logger/startup-gcode-abort/test.ini",
|
||||
"sha256": "4c38be12b4fed74481506483e6f30f87a8afc1a9e2d508fc3584fe196602ca0d"
|
||||
},
|
||||
{
|
||||
"bytes": 650,
|
||||
"path": "linuxcnc/tests/motion-logger/startup-gcode-abort/test-ui.py",
|
||||
"sha256": "99790f9e239500ce02e8e45cacf8cd5566e419d0b4dd0484a6c8204720ed59eb"
|
||||
},
|
||||
{
|
||||
"bytes": 263,
|
||||
"path": "linuxcnc/tests/motion-logger/startup-gcode-abort/nc_files/init.ngc",
|
||||
"sha256": "80b41785f68766cb8e9ad0b5ff47bf3b51172888acf5601d40c28fc45395365a"
|
||||
},
|
||||
{
|
||||
"bytes": 76,
|
||||
"path": "linuxcnc/tests/motion-logger/startup-gcode-abort/checkresult",
|
||||
"sha256": "177380330f4a079d4e5e5198b43be508ccf9f335f5e3fe114dccb6c2dfc45fe6"
|
||||
},
|
||||
{
|
||||
"bytes": 4182,
|
||||
"path": "linuxcnc/tests/motion-logger/startup-gcode-abort/expected.motion-logger.in",
|
||||
"sha256": "08a8034dc963f5a94a6da49e9a8b638255f82d3b66da0aadd5e26c63cd9b74a9"
|
||||
}
|
||||
],
|
||||
"id": "source-test:linuxcnc/tests/motion-logger/startup-gcode-abort/test.sh",
|
||||
"reason": "motion logger and startup abort endpoint require Task/motion adapter",
|
||||
"result": {
|
||||
"session_tick": 0,
|
||||
"task_hash": "fnv1a64:d293ad8f8d4bdf13",
|
||||
"task_program_status": "aborted"
|
||||
},
|
||||
"result_hash": "fnv1a64:5b4bf8fb347cf008",
|
||||
"status": "WORKER_TASK_MOTION_PENDING"
|
||||
},
|
||||
{
|
||||
"adapter": "HOST_EXCLUDED",
|
||||
"fixture": [
|
||||
{
|
||||
"bytes": 259,
|
||||
"path": "linuxcnc/tests/classicladder/estop/test.sh",
|
||||
"sha256": "c84df79ae64ca9d8c5e5604699d47303874e76c4b0a484379ae7249bf83e754c"
|
||||
},
|
||||
{
|
||||
"bytes": 645,
|
||||
"path": "linuxcnc/tests/classicladder/estop/classicladder-estop.ini",
|
||||
"sha256": "7c6c95f5d6d70e0508e05b8cf5754fda32f55fee7ed16bbff2760b77373c4cd0"
|
||||
},
|
||||
{
|
||||
"bytes": 1683,
|
||||
"path": "linuxcnc/tests/classicladder/estop/classicladder-estop.hal",
|
||||
"sha256": "aec927b5809f5dd1425ed783ec5ef687070636186217a475fdcb919760b63f23"
|
||||
},
|
||||
{
|
||||
"bytes": 4448,
|
||||
"path": "linuxcnc/tests/classicladder/estop/classicladder-estop.clp",
|
||||
"sha256": "e5ab35ca25d65868b976e9e6ddc9af241160c158f5084c938d9501ace9c2f157"
|
||||
},
|
||||
{
|
||||
"bytes": 1558,
|
||||
"path": "linuxcnc/tests/classicladder/estop/classicladder-estop-ui.py",
|
||||
"sha256": "c998e3ddf86894c9603e633023ffc85d742784b963e18a4c4f57f21a80a513d6"
|
||||
},
|
||||
{
|
||||
"bytes": 121,
|
||||
"path": "linuxcnc/tests/classicladder/estop/checkresult",
|
||||
"sha256": "583883dc785e6aab0f1313cfc20ed86e9c362082b5c47514264abbbbf973c80e"
|
||||
}
|
||||
],
|
||||
"id": "source-test:linuxcnc/tests/classicladder/estop/test.sh",
|
||||
"reason": "ClassicLadder GUI/runtime is host excluded",
|
||||
"result": {
|
||||
"reason": "ClassicLadder GUI/runtime is host excluded"
|
||||
},
|
||||
"result_hash": "fnv1a64:6d24438783646acd",
|
||||
"status": "HOST_EXCLUDED"
|
||||
}
|
||||
],
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"counts": {
|
||||
"HOST_EXCLUDED": 1,
|
||||
"PASSED": 3,
|
||||
"SOURCE_BLOCKED": 2,
|
||||
"WORKER_TASK_MOTION_PENDING": 1
|
||||
},
|
||||
"fixture_file_count": 30,
|
||||
"schema": "linuxcnc-source-io-adapter.v1"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user