feat(ci): add make fixtures-client target for GDScript->Rust cross-encoder validation (#475)
Closes the bidirectional protocol compatibility loop (D-030 Layer 1): - GDScript fixture generator (20 fixtures: inputs, boundary ticks, batch) - Rust decoder test verifying all GDScript-encoded fixtures deserialize - Makefile target with generation + verification in one step Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -69,6 +69,19 @@ make test-client # gdUnit4 tests (headless runner pending)
|
||||
|
||||
Server tests use Rust's built-in test framework with `#[cfg(test)]` inline tests and `tests/` integration tests (D-030). Client tests use gdUnit4 (D-030).
|
||||
|
||||
### Cross-Encoder Fixtures
|
||||
|
||||
```bash
|
||||
make fixtures # Regenerate Rust->GDScript fixtures (server/tests/gen_fixtures.rs)
|
||||
make fixtures-client # Generate GDScript->Rust fixtures + verify Rust decoder (#475)
|
||||
```
|
||||
|
||||
The bidirectional protocol is validated by two sets of committed fixtures:
|
||||
- **Rust encodes, GDScript decodes:** `client/tests/fixtures/msgpack/` (generated by `make fixtures`)
|
||||
- **GDScript encodes, Rust decodes:** `server/tests/fixtures/gdscript/` (generated by `make fixtures-client`)
|
||||
|
||||
Regenerate both after any protocol change. Commit the updated fixtures alongside the code change.
|
||||
|
||||
### Lint
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user