relux_runtime/
runtime_context.rs1use std::path::Path;
2use std::sync::Arc;
3use std::time::Instant;
4
5use crate::cancel::CancelToken;
6use crate::observe::structured::StructuredLogBuilder;
7use relux_core::pure::LayeredEnv;
8use relux_ir::IrTimeout;
9use relux_ir::Tables;
10
11#[derive(Clone, Debug)]
12pub struct ShellConfig {
13 pub command: Arc<str>,
14 pub prompt: Arc<str>,
15 pub default_timeout: IrTimeout,
16}
17
18#[derive(Clone)]
19pub struct RuntimeContext {
20 pub log: StructuredLogBuilder,
21 pub shell: ShellConfig,
22 pub log_dir: Arc<Path>,
23 pub tables: Tables,
24 pub env: Arc<LayeredEnv>,
25 pub cancel: CancelToken,
26 pub test_start: Instant,
27 pub flaky_timeout_multiplier: f64,
28}