test: harden exhaustive compatibility suites

This commit is contained in:
2026-07-30 16:19:30 +00:00
parent 4ebd3fd39b
commit a9dbb3fd4d
28 changed files with 454 additions and 97 deletions
@@ -118,6 +118,12 @@ cd docker_compose_files/reference
> /tmp/ref-trace.json
```
When the integration tests need to exercise a feature-worktree copy of the
case wrapper, set `TURN_DIFFERENTIAL_CASE_SCRIPT` to that shell script. This is
intentionally distinct from `TURN_DIFFERENTIAL_RUNNER_SCRIPT`, which the shell
wrapper forwards to select the PHP comparison runner inside the reference
container.
Capture the core side by wrapping the real reserved-turn or daemon execution
with `captureCoreDatabaseTurnTrace()`. Save the returned JSON, then compare:
+17 -37
View File
@@ -1,43 +1,23 @@
Compare command logs (mode: action, strict: off, keepDate: off, excludeGuards: on, excludeTarget: on)
PHP commands: 83
TS commands: 63
Matched commands: 60
Compare command logs (mode: action, strict: off, keepDate: off, excludeGuards: on, excludeTarget: on, countSensitive: off)
PHP commands: 87
TS commands: 84
Matched commands: 87
Mismatched commands: 0
Missing in TS: 23
Missing in PHP: 3
Ignored mismatches: 10
Missing in TS: 0
Missing in PHP: 0
Ignored mismatches: 17
Missing in TS:
- General/che_군량매매
- General/che_등용수락
- General/che_모반시도
- General/che_무작위건국
- General/che_선양
- General/che_장비매매
- General/che_장수대상임관
- General/che_전투태세
- General/che_접경귀환
- General/che_증여
- General/che_해산
- General/cr_건국
- General/cr_맹훈련
- Nation/che_선전포고
- Nation/event_극병연구
- Nation/event_대검병연구
- Nation/event_무희연구
- Nation/event_산저병연구
- Nation/event_상병연구
- Nation/event_원융노병연구
- Nation/event_음귀병연구
- Nation/event_화륜차연구
- Nation/event_화시병연구
Shared TS log implementations excluded from per-command extraction:
- Nation/che_불가침수락: logs are emitted by
`packages/logic/src/diplomacy/instantResponse.ts` and verified by
`instantDiplomacyReference.integration.test.ts`.
- Nation/che_불가침파기수락: logs are emitted by
`packages/logic/src/diplomacy/instantResponse.ts` and verified by
`instantDiplomacyReference.integration.test.ts`.
- Nation/che_종전수락: logs are emitted by
`packages/logic/src/diplomacy/instantResponse.ts` and verified by
`instantDiplomacyReference.integration.test.ts`.
Missing in PHP:
- General/che_내정특기초기화
- Nation/che_불가침수락
- Nation/che_불가침파기수락
Checklist:
# Command Log Checklist
Mode: action
+10
View File
@@ -64,6 +64,16 @@ pnpm --filter @sammo-ts/integration-tests test:integration
These are loaded from `.env.ci` and can be overridden per run.
The HTTP lifecycle fixtures explicitly set
`localAccountGeneralCreationGraceDays` on their disposable profile before
issuing game sessions for locally provisioned users. This keeps the test on the
same profile-policy path as production instead of bypassing Kakao eligibility in
the game API. The PM2 orchestrator fixture also uses a temporary `PM2_HOME` and
deletes all five profile roles before stopping that dedicated daemon. Cleanup
verifies the temporary daemon PID and command line, waits for its exit, and only
then removes `PM2_HOME`, so it does not share the operator's global PM2 daemon
or retain processes and paths from an older worktree.
## Notes
- `auth.bootstrapLocal` only works when no users exist; the test resets the DB