Skip to content

Add SliM runtime controls and transports - #7

Merged
killertux merged 1 commit into
masterfrom
feat/slim-runtime-controls
Sep 10, 2026
Merged

killertux merged 1 commit into
masterfrom
feat/slim-runtime-controls

Conversation

@killertux

Copy link
Copy Markdown
Owner

The Rust SliM server previously continued executing after stop/ignore fixture results and left transport setup, timeout flags, request flushing, and stdio log handling to each consumer. This adds structured V0.5 control results with exact wire tags, stops the remainder of the current batch, and keeps the connection available for later batches.

It also adds whole-second -s timeout options with the documented TIMED_OUT n result, supported TCP/port-1 runners, explicit SOUT/SERR output tunnels, and client request flushing. The proc macro preserves structured controls from methods and constructors. Temoc now drains port-1 stderr concurrently, preventing a full pipe from deadlocking the child and avoiding duplicate tunneled output.

The timeout model is deliberately observational: an overrun is reported after in-process fixture code returns, so existing side effects remain and arbitrary Rust code is never forcibly cancelled. Transparent process-wide println! capture also remains outside this safe API; stdio fixtures write through OutputTunnel.

Validation:

  • cargo test --workspace --all-features
  • cargo clippy --workspace --all-features -- -D warnings
  • cargo fmt --all -- --check
  • git diff --check

An independent review against the V0.5 protocol and current FitNesse execution behavior found no remaining blockers.

@killertux
killertux merged commit 5febcf7 into master Sep 10, 2026
10 checks passed
@killertux
killertux deleted the feat/slim-runtime-controls branch September 10, 2026 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant