Implement BattleRunner Java process lifecycle in Nim framework #134

Closed
opened 2026-08-30 11:38:46 +02:00 by SirStone · 2 comments
Owner

Wayfinder child of: #126

Context

The test framework manages two Java subprocesses: the TR server (#128) and the BattleRunner process. #128 covers server lifecycle. This ticket covers starting, monitoring, and cleaning up the BattleRunner Java process that actually runs battles.

Requirements

  • Start BattleRunner.java (compiled jar/class) as a subprocess, passing server URL, bot paths, round count
  • Capture its stdout for result parsing (#127)
  • Detect completion (process exit)
  • Handle errors: non-zero exit, timeout, hung process
  • Clean up on test failure/exception/signal

Blocked by

#128 (server must be running first)

Blocks

#130

## Wayfinder child of: #126 ### Context The test framework manages two Java subprocesses: the TR server (#128) and the BattleRunner process. #128 covers server lifecycle. This ticket covers starting, monitoring, and cleaning up the BattleRunner Java process that actually runs battles. ### Requirements - Start `BattleRunner.java` (compiled jar/class) as a subprocess, passing server URL, bot paths, round count - Capture its stdout for result parsing (#127) - Detect completion (process exit) - Handle errors: non-zero exit, timeout, hung process - Clean up on test failure/exception/signal ### Blocked by #128 (server must be running first) ### Blocks #130
SirStone added the wayfinder:map label 2026-08-30 11:38:51 +02:00
Author
Owner

Spec addition from grilling

  • BattleRunner process completion timeout: 30s after battle should have ended.
  • Use defer for process cleanup.
  • Detect hung process via stdout inactivity timeout.
## Spec addition from grilling - BattleRunner process completion timeout: **30s** after battle should have ended. - Use `defer` for process cleanup. - Detect hung process via stdout inactivity timeout.
SirStone added wayfinder:task and removed wayfinder:map labels 2026-08-30 11:48:29 +02:00
Author
Owner

Implemented in commit 57a1915.

Implemented in commit 57a1915.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SirStone/SirRoboGarage#134