pub struct RecordedRunInfo {
pub run_id: ReportUuid,
pub store_format_version: u32,
pub nextest_version: Version,
pub started_at: DateTime<FixedOffset>,
pub last_written_at: DateTime<FixedOffset>,
pub duration_secs: Option<f64>,
pub cli_args: Vec<String>,
pub build_scope_args: Vec<String>,
pub env_vars: BTreeMap<String, String>,
pub parent_run_id: Option<ReportUuid>,
pub sizes: RecordedSizes,
pub status: RecordedRunStatus,
}Expand description
Information about a recorded run.
Fields§
§run_id: ReportUuidThe unique identifier for this run.
store_format_version: u32The format version of this run’s store.zip archive.
This allows checking replayability without opening the archive.
nextest_version: VersionThe version of nextest that created this run.
started_at: DateTime<FixedOffset>When the run started.
last_written_at: DateTime<FixedOffset>When this run was last written to.
Used for LRU eviction. Updated when the run is created, when the run completes, and when a rerun references this run.
duration_secs: Option<f64>Duration of the run in seconds.
This is None for incomplete runs.
cli_args: Vec<String>The command-line arguments used to invoke nextest.
build_scope_args: Vec<String>Build scope arguments (package and target selection).
These determine which packages and targets are built. In a rerun chain, these are inherited from the original run unless explicitly overridden.
env_vars: BTreeMap<String, String>Environment variables that affect nextest behavior (NEXTEST_* and CARGO_*).
parent_run_id: Option<ReportUuid>If this is a rerun, the ID of the parent run.
This forms a chain for iterative fix-and-rerun workflows.
sizes: RecordedSizesSizes broken down by component (log and store).
status: RecordedRunStatusThe status and statistics for this run.
Implementations§
Source§impl RecordedRunInfo
impl RecordedRunInfo
Sourcepub fn check_replayability(
&self,
runs_dir: StoreRunsDir<'_>,
) -> ReplayabilityStatus
pub fn check_replayability( &self, runs_dir: StoreRunsDir<'_>, ) -> ReplayabilityStatus
Checks whether this run can be replayed.
This performs a comprehensive check of all conditions that might prevent replay, including:
- Store format version compatibility
- Presence of required files (store.zip, run.log.zst)
- Run status (unknown, incomplete)
The runs_dir parameter is used to check for file existence on disk.
Sourcepub fn display<'a>(
&'a self,
run_id_index: &'a RunIdIndex,
replayability: &'a ReplayabilityStatus,
alignment: RunListAlignment,
styles: &'a Styles,
redactor: &'a Redactor,
) -> DisplayRecordedRunInfo<'a>
pub fn display<'a>( &'a self, run_id_index: &'a RunIdIndex, replayability: &'a ReplayabilityStatus, alignment: RunListAlignment, styles: &'a Styles, redactor: &'a Redactor, ) -> DisplayRecordedRunInfo<'a>
Returns a display wrapper for this run.
The run_id_index is used for computing shortest unique prefixes,
which are highlighted differently in the output (similar to jj).
The alignment parameter controls column alignment when displaying a
list of runs. Use RunListAlignment::from_runs to precompute
alignment for a set of runs.
The redactor parameter, if provided, redacts timestamps, durations,
and sizes for snapshot testing while preserving column alignment.
Sourcepub fn display_detailed<'a>(
&'a self,
run_id_index: &'a RunIdIndex,
replayability: &'a ReplayabilityStatus,
now: DateTime<Utc>,
styles: &'a Styles,
theme_characters: &'a ThemeCharacters,
redactor: &'a Redactor,
) -> DisplayRecordedRunInfoDetailed<'a>
pub fn display_detailed<'a>( &'a self, run_id_index: &'a RunIdIndex, replayability: &'a ReplayabilityStatus, now: DateTime<Utc>, styles: &'a Styles, theme_characters: &'a ThemeCharacters, redactor: &'a Redactor, ) -> DisplayRecordedRunInfoDetailed<'a>
Returns a detailed display wrapper for this run.
Unlike Self::display which shows a compact table row, this provides
a multi-line detailed view suitable for the store info command.
The replayability parameter should be computed by the caller using
Self::check_replayability.
The now parameter is the current time, used to compute relative
durations (e.g. “30s ago”).
The redactor parameter redacts paths, timestamps, durations, and sizes
for snapshot testing. Use Redactor::noop() if no redaction is needed.
Trait Implementations§
Source§impl Clone for RecordedRunInfo
impl Clone for RecordedRunInfo
Source§fn clone(&self) -> RecordedRunInfo
fn clone(&self) -> RecordedRunInfo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for RecordedRunInfo
impl RefUnwindSafe for RecordedRunInfo
impl Send for RecordedRunInfo
impl Sync for RecordedRunInfo
impl Unpin for RecordedRunInfo
impl UnwindSafe for RecordedRunInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<D> OwoColorize for D
impl<D> OwoColorize for D
§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg] or
a color-specific method, such as [OwoColorize::green], Read more§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg] or
a color-specific method, such as [OwoColorize::on_yellow], Read more