Translate wire semantics parity tests
Some checks failed
Rust API gates / api-gates (push) Has been cancelled
Some checks failed
Rust API gates / api-gates (push) Has been cancelled
This commit is contained in:
@@ -59,8 +59,8 @@ The current workspace is a structural baseline, not a working client:
|
||||
members with real fields/constants/enum values and standardized failing
|
||||
bodies;
|
||||
- all 1,289 discovered NUnit `[Test]`/`[TestCase]` cases have compiling Rust test
|
||||
entries; 17 Types/Utilities and 78 StructuredData cases are semantically
|
||||
translated and the other 1,194 intentionally panic with their source identity
|
||||
entries; 145 cases are semantically translated, four benchmarks are
|
||||
reviewed, and the other 1,140 intentionally panic with their source identity
|
||||
and body hash;
|
||||
- all nine sample/tool projects have compiling Rust binary targets;
|
||||
- the 128 TestClient command source files are retained as a command inventory.
|
||||
@@ -76,7 +76,7 @@ gate is complete; semantic test translation is underway.**
|
||||
The avatar-facing slice preserves the C# agent, movement/camera, appearance and
|
||||
outfit-policy, inventory/AIS/store, asset/cache, avatar, and animesh concepts.
|
||||
Long-running mapped calls retain an explicit cross-platform cancellation token
|
||||
and return the shared `NotImplemented { csharp_member }` error; events return a
|
||||
and return the shared `Error::NotImplemented(NotImplemented { csharp_member })` error; events return a
|
||||
typed subscription guard so callback lifetime is visible to Rust callers.
|
||||
|
||||
The world-facing slice preserves the C# object, parcel, terrain, grid,
|
||||
@@ -277,7 +277,7 @@ Each mapped Rust item must actually compile and be callable:
|
||||
untyped placeholder.
|
||||
|
||||
The body is the only part allowed to be fake. Fallible Rust APIs return a shared
|
||||
typed `NotImplemented { csharp_member }` error. Infallible constructors,
|
||||
typed `Error::NotImplemented(NotImplemented { csharp_member })` error. Infallible constructors,
|
||||
accessors, operators and trait methods call a shared `unimplemented_api!`
|
||||
placeholder that panics with the stable C# member ID. Constants and enum values
|
||||
must have their real values. Never return plausible defaults such as `false`,
|
||||
@@ -287,7 +287,7 @@ for the wrong reason.
|
||||
The failure contract lives in `libremetaverse-types` and every API crate exposes
|
||||
it as `crate::Error`:
|
||||
|
||||
- synchronous fallible members return `Err(NotImplemented::new(CSHARP_ID))`;
|
||||
- synchronous fallible members return `Err(Error::NotImplemented(NotImplemented::new(CSHARP_ID)))`;
|
||||
async members do the same when first polled and start no work first;
|
||||
- a stream-producing operation returns the typed error before exposing a
|
||||
stream; an intrinsically infallible stream factory uses `unimplemented_api!`
|
||||
@@ -332,7 +332,8 @@ markers in hand-written Rust files, so regeneration writes only unresolved
|
||||
placeholders and fails on body drift. The checked-in audit reports pending,
|
||||
translated, ignored-live, benchmark, drifted, missing, duplicate, stale, and
|
||||
unreviewed cases. The initial handover contained 1,289 unreviewed cases; the
|
||||
current ledger contains 95 translated/reviewed and 1,194 pending cases.
|
||||
current ledger contains 145 translated, four benchmark-reviewed, and 1,140
|
||||
pending cases.
|
||||
|
||||
The Rust tests must call the public APIs rather than internal replacements.
|
||||
Where the C# tests call internal members through friend-assembly access, record
|
||||
|
||||
Reference in New Issue
Block a user