pub enum FileFailurePersistence {
Off,
SourceParallel(&'static str),
WithSource(&'static str),
Direct(&'static str),
// some variants omitted
}
Expand description
Describes how failing test cases are persisted.
Note that file names in this enum are &str
rather than &Path
since
constant functions are not yet in Rust stable as of 2017-12-16.
In all cases, if a derived path references a directory which does not yet exist, proptest will attempt to create all necessary parent directories.
Variants§
Off
Completely disables persistence of failing test cases.
This is semantically equivalent to Direct("/dev/null")
on Unix and
Direct("NUL")
on Windows (though it is internally handled by simply
not doing any I/O).
SourceParallel(&'static str)
The path of the source file under test is traversed up the directory tree
until a directory containing a file named lib.rs
or main.rs
is found.
A sibling to that directory with the name given by the string in this
configuration is created, and a file with the same name and path relative
to the source directory, but with the extension changed to .txt
, is used.
For example, given a source path of
/home/jsmith/code/project/src/foo/bar.rs
and a configuration of
SourceParallel("proptest-regressions")
(the default), assuming the
src
directory has a lib.rs
or main.rs
, the resulting file would
be /home/jsmith/code/project/proptest-regressions/foo/bar.txt
.
If no lib.rs
or main.rs
can be found, a warning is printed and this
behaves like WithSource
.
If no source file has been configured, a warning is printed and this
behaves like Off
.
WithSource(&'static str)
Failures are persisted in a file with the same path as the source file under test, but the extension is changed to the string given in this configuration.
For example, given a source path of
/home/jsmith/code/project/src/foo/bar.rs
and a configuration of
WithSource("regressions")
, the resulting path would be
/home/jsmith/code/project/src/foo/bar.regressions
.
Direct(&'static str)
The string given in this option is directly used as a file path without any further processing.
Trait Implementations§
Source§impl Clone for FileFailurePersistence
impl Clone for FileFailurePersistence
Source§fn clone(&self) -> FileFailurePersistence
fn clone(&self) -> FileFailurePersistence
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for FileFailurePersistence
impl Debug for FileFailurePersistence
Source§impl Default for FileFailurePersistence
impl Default for FileFailurePersistence
Source§impl FailurePersistence for FileFailurePersistence
impl FailurePersistence for FileFailurePersistence
Source§fn load_persisted_failures2(
&self,
source_file: Option<&'static str>,
) -> Vec<PersistedSeed>
fn load_persisted_failures2( &self, source_file: Option<&'static str>, ) -> Vec<PersistedSeed>
source_file
that may be used
by a TestRunner
’s random number generator in order to consistently
recreate a previously-failing Strategy
-provided value. Read moreSource§fn save_persisted_failure2(
&mut self,
source_file: Option<&'static str>,
seed: PersistedSeed,
shrunken_value: &dyn Debug,
)
fn save_persisted_failure2( &mut self, source_file: Option<&'static str>, seed: PersistedSeed, shrunken_value: &dyn Debug, )
source_file
. Read moreSource§fn box_clone(&self) -> Box<dyn FailurePersistence>
fn box_clone(&self) -> Box<dyn FailurePersistence>
Clone