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
sourceimpl Clone for FileFailurePersistence
impl Clone for FileFailurePersistence
sourcefn clone(&self) -> FileFailurePersistence
fn clone(&self) -> FileFailurePersistence
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for FileFailurePersistence
impl Debug for FileFailurePersistence
sourceimpl Default for FileFailurePersistence
impl Default for FileFailurePersistence
sourceimpl FailurePersistence for FileFailurePersistence
impl FailurePersistence for FileFailurePersistence
sourcefn load_persisted_failures2(
&self,
source_file: Option<&'static str>
) -> Vec<PersistedSeed>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn load_persisted_failures2(
&self,
source_file: Option<&'static str>
) -> Vec<PersistedSeed>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Supply seeds associated with the given 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 more
sourcefn 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
)
Store a new failure-generating seed associated with the given source_file
. Read more
sourcefn box_clone(&self) -> Box<dyn FailurePersistence>ⓘNotable traits for Box<R, Global>impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
fn box_clone(&self) -> Box<dyn FailurePersistence>ⓘNotable traits for Box<R, Global>impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
Delegate method for producing a trait object usable with Clone
sourcefn eq(&self, other: &dyn FailurePersistence) -> bool
fn eq(&self, other: &dyn FailurePersistence) -> bool
Equality testing delegate required due to constraints of trait objects.
sourceimpl PartialEq<FileFailurePersistence> for FileFailurePersistence
impl PartialEq<FileFailurePersistence> for FileFailurePersistence
sourcefn eq(&self, other: &FileFailurePersistence) -> bool
fn eq(&self, other: &FileFailurePersistence) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &FileFailurePersistence) -> bool
fn ne(&self, other: &FileFailurePersistence) -> bool
This method tests for !=
.
impl Copy for FileFailurePersistence
impl StructuralPartialEq for FileFailurePersistence
Auto Trait Implementations
impl RefUnwindSafe for FileFailurePersistence
impl Send for FileFailurePersistence
impl Sync for FileFailurePersistence
impl Unpin for FileFailurePersistence
impl UnwindSafe for FileFailurePersistence
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more