Translate the complete RLV test suite exactly #25

Closed
opened 2026-08-08 08:13:49 +00:00 by hugo · 1 comment
Owner

Objective

Translate all RLV command, query, restriction, exception, inventory-map, lock, attachment, camera, blacklist, callback, and service tests.

Deliverables

  • Preserve command strings, casing, separators, options, attachment aliases, UUIDs, folder paths, permission state, callbacks, and exact error categories.
  • Retain one Rust case per NUnit parameter case across the RLV directory tree.
  • Use public RLV APIs and narrow recording callbacks.

Validation

  • RLV parity catalog reaches 100% reviewed coverage.
  • All RLV tests compile and fail only at standardized member IDs.
  • No parser normalization weakens accepted/rejected input distinctions.

Prerequisite

Milestone 02 must provide the complete callable public API shim. Keep all production behavior standardized as unimplemented.

Project constraints

  • Translate the original test semantics exactly; do not weaken assertions, tolerances, inputs, errors, ordering, or interaction expectations.
  • Tests must exercise the mapped Rust API and must never call LibreMetaverse/.NET as their implementation.
  • Expected C# exceptions map to specific Rust error variants; an unimplemented panic must remain a failure.
  • Do not implement production behavior during this milestone. Update parity metadata and handover status with the change.
## Objective Translate all RLV command, query, restriction, exception, inventory-map, lock, attachment, camera, blacklist, callback, and service tests. ## Deliverables - Preserve command strings, casing, separators, options, attachment aliases, UUIDs, folder paths, permission state, callbacks, and exact error categories. - Retain one Rust case per NUnit parameter case across the RLV directory tree. - Use public RLV APIs and narrow recording callbacks. ## Validation - RLV parity catalog reaches 100% reviewed coverage. - All RLV tests compile and fail only at standardized member IDs. - No parser normalization weakens accepted/rejected input distinctions. ## Prerequisite Milestone 02 must provide the complete callable public API shim. Keep all production behavior standardized as unimplemented. ## Project constraints - Translate the original test semantics exactly; do not weaken assertions, tolerances, inputs, errors, ordering, or interaction expectations. - Tests must exercise the mapped Rust API and must never call LibreMetaverse/.NET as their implementation. - Expected C# exceptions map to specific Rust error variants; an unimplemented panic must remain a failure. - Do not implement production behavior during this milestone. Update parity metadata and handover status with the change.
hugo added this to the 03 - Full semantic test translation milestone 2026-08-08 08:13:49 +00:00
hugo added the enhancement label 2026-08-08 08:13:49 +00:00
Author
Owner

Implemented in commit 3140e65 and pushed to main.

  • Added 616 one-for-one Rust RLV tests across 24 targets, covering every pinned command, query, restriction, exception, inventory-map, attachment, camera, blacklist, callback, and service NUnit invocation.
  • Tests call the public Rust APIs through narrow recording callbacks and preserve exact case inputs, strings, UUIDs, paths, ordering, permissions, errors, and interaction expectations.
  • Reworked shared helpers so every test body directly asserts its observable public-API result.
  • Regenerated parity metadata: translated=1266, ignored-live=19, benchmark=4, pending=0, drifted=0, unreviewed=0.
  • Ran every RLV target in isolation: all 616 tests fail only at standardized C# member IDs while production behavior remains unimplemented.
  • Audited all 19 prior live-grid cases. Every case has the conditional credential gate; with the current .env credentials all 19 ran and reached standardized unimplemented member IDs, with none ignored.
  • Passed formatting, parity regeneration/check, mapping and shim checks, API coverage, workspace/all-target compilation, downstream API compilation, clippy with warnings denied, documentation, and generator unit tests.
Implemented in commit 3140e65 and pushed to main. - Added 616 one-for-one Rust RLV tests across 24 targets, covering every pinned command, query, restriction, exception, inventory-map, attachment, camera, blacklist, callback, and service NUnit invocation. - Tests call the public Rust APIs through narrow recording callbacks and preserve exact case inputs, strings, UUIDs, paths, ordering, permissions, errors, and interaction expectations. - Reworked shared helpers so every test body directly asserts its observable public-API result. - Regenerated parity metadata: translated=1266, ignored-live=19, benchmark=4, pending=0, drifted=0, unreviewed=0. - Ran every RLV target in isolation: all 616 tests fail only at standardized C# member IDs while production behavior remains unimplemented. - Audited all 19 prior live-grid cases. Every case has the conditional credential gate; with the current .env credentials all 19 ran and reached standardized unimplemented member IDs, with none ignored. - Passed formatting, parity regeneration/check, mapping and shim checks, API coverage, workspace/all-target compilation, downstream API compilation, clippy with warnings denied, documentation, and generator unit tests.
hugo closed this issue 2026-08-08 21:22:55 +00:00
Sign in to join this conversation.