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 given to TestRunner::set_source_file()
is parsed. The path
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)
The path given to TestRunner::set_source_file()
is parsed. The
extension of the path is changed to the string given in this
configuration, and that filename is used.
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_failures(
&self,
source_file: Option<&'static str>
) -> Vec<[u8; 16]> ⓘ
fn load_persisted_failures(
&self,
source_file: Option<&'static str>
) -> Vec<[u8; 16]> ⓘ
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_failure(
&mut self,
source_file: Option<&'static str>,
seed: [u8; 16],
shrunken_value: &dyn Debug
)
fn save_persisted_failure(
&mut self,
source_file: Option<&'static str>,
seed: [u8; 16],
shrunken_value: &dyn Debug
)
source_file
.source§fn box_clone(&self) -> Box<dyn FailurePersistence>
fn box_clone(&self) -> Box<dyn FailurePersistence>
Clone