proto-socket/agent-ops/skills/project/add-proto-socket-crosstest-language/templates/CROSSTEST_CHECKLIST.md
toki d0754a353a refactor: rename toki_socket to proto_socket across all languages
- Rename package/module from toki_socket to proto_socket in Dart, Kotlin, Python
- Update crosstest implementations to use renamed packages
- Add new proto_socket skill, deprecate add-toki-socket-crosstest-language skill
- Update domain rules for all languages
- Update documentation (README, PORTING_GUIDE, PROTOCOL, VERSIONING)
2026-05-02 07:19:12 +09:00

1.6 KiB

Cross-language Test Checklist

Use the runner layout from agent-ops/skills/project/add-proto-socket-crosstest-language/SKILL.md.

Runner Layout

  • Server-language orchestrator lives under <server-language>/crosstest/.
  • Client-language subprocess helper lives under <client-language>/crosstest/.
  • No root-level package metadata is added only for crosstests.
  • Subprocess paths resolve from the package root or runner source location.

Required Output

The client helper prints its protocol type name before scenarios:

INFO typeName <language>=TestData

Each scenario prints exactly one result line:

PASS scenario=N detail=...
FAIL scenario=N error=...

The orchestrator fails when an expected scenario is missing, any FAIL line appears, or the subprocess exits non-zero.

Required Scenarios

Run each scenario for TCP and WebSocket:

  • Scenario 1: client sends fire-and-forget TestData; server validates index and message.
  • Scenario 2: server pushes TestData(index=200, message=push from ... server) to the client.
  • Scenario 3: client sendRequest receives index=req.index*2 and message=echo: req.message.
  • Scenario 4: multiple concurrent sendRequest calls verify nonce and response routing.

Split protocols into separate send-push and request phases if a communicator forbids normal listener and request listener registration for the same message type.

Review Notes

  • Record the exact commands used to run both directions.
  • Record fixed ports and why they do not conflict with existing tests.
  • Record any unsupported transport or platform caveat.