KetraTerm
API · v0.2.2All versions

TerminalProcessOracle

class TerminalProcessOracle(command: List<String>, workingDirectory: Path? = null, timeout: Duration = Duration.ofSeconds(10)) : TerminalDifferentialOracle

Versioned JSON-process implementation of TerminalDifferentialOracle.

A fresh process is used for every replay, preventing parser or mode state from leaking between cases. Output and diagnostics are drained concurrently with explicit size limits so a defective oracle cannot deadlock the test JVM.

Parameters

command

executable and arguments used to start the oracle.

workingDirectory

process working directory, or null to inherit it.

timeout

maximum wall-clock duration of one replay.

Constructors

Link copied to clipboard
constructor(command: List<String>, workingDirectory: Path? = null, timeout: Duration = Duration.ofSeconds(10))

Functions

Link copied to clipboard
open override fun replay(columns: Int, rows: Int, maxHistory: Int, transcript: TerminalReplayTranscript): TerminalOracleSnapshot

Replays a transcript from a clean terminal state.