Translate Types and Utilities 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:
@@ -27,18 +27,19 @@ Generated inventories are intentionally checked in:
|
||||
types, plus two support traits referenced by public inheritance metadata.
|
||||
- `api/RUST-MAPPING.tsv` records the reviewed Rust destination and complete
|
||||
signature decision for all 30,789 public members.
|
||||
- `tests/upstream-tests.json` records every NUnit invocation and the SHA-256 of
|
||||
- `tests/upstream-tests.json` records every discovered NUnit case and the SHA-256 of
|
||||
its C# method body.
|
||||
- `tests/PARITY.md` maps every NUnit invocation to its Rust test name.
|
||||
- `tests/PARITY.md` maps every discovered NUnit case to its Rust test name.
|
||||
- `programs/upstream-programs.json` records every source file and digest for the
|
||||
nine sample/tool projects.
|
||||
|
||||
Run `python3 tools/generate_surface.py` after deliberately changing the pinned
|
||||
upstream snapshot, then run `python3 tools/extract_public_api.py` to rebuild the
|
||||
authoritative metadata catalog twice and require byte-identical output. The
|
||||
source generator rejects a test count other than 1,295 so upstream drift cannot
|
||||
silently remove tests. Update both commit constants and review all ledger diffs
|
||||
in the same change.
|
||||
source generator rejects a test count other than 1,289 so upstream drift cannot
|
||||
silently remove tests. The extractor masks C# comments and treats `[Test]` plus
|
||||
`[TestCase]` on one parameterized method the same way as NUnit discovery. Update
|
||||
both commit constants and review all ledger diffs in the same change.
|
||||
|
||||
### Current shell status
|
||||
|
||||
@@ -57,8 +58,9 @@ The current workspace is a structural baseline, not a working client:
|
||||
slices expose all 3,066 final Rust-facing types and all 30,789 callable
|
||||
members with real fields/constants/enum values and standardized failing
|
||||
bodies;
|
||||
- all 1,295 NUnit `[Test]`/`[TestCase]` invocations have compiling Rust test
|
||||
entries that intentionally panic with their source identity and body hash;
|
||||
- all 1,289 discovered NUnit `[Test]`/`[TestCase]` cases have compiling Rust test
|
||||
entries; 17 Types/Utilities cases are semantically translated and the other
|
||||
1,272 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.
|
||||
|
||||
@@ -68,7 +70,7 @@ and the standalone downstream fixture names or invokes all 3,066 types and
|
||||
aid, not proof of API coverage: it records declaration lines but does not fully
|
||||
parse multiline signatures. Likewise, a generated `pending` test is a parity
|
||||
placeholder, not a semantic translation. **The full public API signature shim
|
||||
gate is complete; semantic test translation is the next stage.**
|
||||
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.
|
||||
@@ -316,7 +318,7 @@ The signature gate is complete only when:
|
||||
### 3.2 Full semantic test-suite gate
|
||||
|
||||
After the full signature shim compiles, translate the entire C# test suite while
|
||||
leaving all library bodies unimplemented. Every one of the 1,295 NUnit
|
||||
leaving all library bodies unimplemented. Every one of the 1,289 discovered NUnit
|
||||
invocations must become a Rust test with the same inputs, setup, operation,
|
||||
observations, assertions, tolerances and expected error/event behavior. Shared
|
||||
C# test helpers become shared Rust test helpers; embedded fixtures and literal
|
||||
@@ -328,7 +330,8 @@ and semantic-review status. Reviewed tests are identified by `parity-case`
|
||||
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 contains 1,295 unreviewed cases.
|
||||
unreviewed cases. The initial handover contained 1,289 unreviewed cases; the
|
||||
current ledger contains 17 translated/reviewed and 1,272 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
|
||||
@@ -782,7 +785,7 @@ not part of the default smoke test.
|
||||
map 100% of public members to reviewed Rust signatures, and implement only
|
||||
standardized failing bodies. All signatures and downstream compile fixtures
|
||||
build before test translation begins.
|
||||
3. **Full semantic test translation:** replace all 1,295 `pending` cases with
|
||||
3. **Full semantic test translation:** replace all 1,289 `pending` cases with
|
||||
exact reviewed Rust equivalents using the public shim. The entire suite
|
||||
compiles and fails only at standardized unimplemented member boundaries.
|
||||
4. **Types implementation:** UUID, math, enums, conversions, collections,
|
||||
|
||||
Reference in New Issue
Block a user