pub struct ReplayCommand {
pub program: String,
pub args: Vec<String>,
pub env: Vec<ReplayEnvVar>,
pub command_line: String,
}Expand description
A verbatim replay command that can reproduce the crash pack’s failure.
The command is a fully-specified invocation that, given the same code at the recorded commit, will reproduce the exact failure.
§Example JSON
{
"program": "cargo",
"args": ["test", "--lib", "--", "--seed", "42"],
"env": [{"key": "ASUPERSYNC_WORKERS", "value": "4"}],
"command_line": "ASUPERSYNC_WORKERS=4 cargo test --lib -- --seed 42"
}Fields§
§program: StringThe binary or program to invoke.
args: Vec<String>Command-line arguments, each as a separate string.
env: Vec<ReplayEnvVar>Environment variables required for replay.
command_line: StringHuman-readable one-liner that can be copy-pasted into a shell.
Includes env var prefixes, the program, and all arguments.
Implementations§
Source§impl ReplayCommand
impl ReplayCommand
Sourcepub fn from_config(
config: &CrashPackConfig,
artifact_path: Option<&str>,
) -> Self
pub fn from_config( config: &CrashPackConfig, artifact_path: Option<&str>, ) -> Self
Build a replay command from a crash pack’s configuration.
Generates a cargo test invocation with the crash pack’s seed
and configuration parameters.
Sourcepub fn from_config_cli(config: &CrashPackConfig, artifact_path: &str) -> Self
pub fn from_config_cli(config: &CrashPackConfig, artifact_path: &str) -> Self
Build a replay command for the asupersync trace replay CLI subcommand.
Trait Implementations§
Source§impl Clone for ReplayCommand
impl Clone for ReplayCommand
Source§fn clone(&self) -> ReplayCommand
fn clone(&self) -> ReplayCommand
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ReplayCommand
impl Debug for ReplayCommand
Source§impl<'de> Deserialize<'de> for ReplayCommand
impl<'de> Deserialize<'de> for ReplayCommand
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for ReplayCommand
impl Display for ReplayCommand
Source§impl PartialEq for ReplayCommand
impl PartialEq for ReplayCommand
Source§impl Serialize for ReplayCommand
impl Serialize for ReplayCommand
impl Eq for ReplayCommand
impl StructuralPartialEq for ReplayCommand
Auto Trait Implementations§
impl Freeze for ReplayCommand
impl RefUnwindSafe for ReplayCommand
impl Send for ReplayCommand
impl Sync for ReplayCommand
impl Unpin for ReplayCommand
impl UnsafeUnpin for ReplayCommand
impl UnwindSafe for ReplayCommand
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
Mutably borrows from an owned value. Read more
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: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Instruments this future with a span (no-op when disabled).
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Instruments this future with the current span (no-op when disabled).