pub struct ShouldRun<'a> {
pub builder: &'a Builder<'a>,
kind: Kind,
paths: BTreeSet<PathSet>,
is_really_default: ReallyDefault<'a>,
}Fields§
§builder: &'a Builder<'a>§kind: Kind§paths: BTreeSet<PathSet>§is_really_default: ReallyDefault<'a>Implementations§
Source§impl<'a> ShouldRun<'a>
impl<'a> ShouldRun<'a>
fn new(builder: &'a Builder<'_>, kind: Kind) -> ShouldRun<'a>
pub fn default_condition(self, cond: bool) -> Self
pub fn lazy_default_condition( self, lazy_cond: Box<dyn Fn() -> bool + 'a>, ) -> Self
pub fn is_really_default(&self) -> bool
Sourcepub fn crate_or_deps(self, name: &str) -> Self
pub fn crate_or_deps(self, name: &str) -> Self
Indicates it should run if the command-line selects the given crate or any of its (local) dependencies.
make_run will be called a single time with all matching command-line paths.
Sourcepub(crate) fn crates(self, crates: Vec<&Crate>) -> Self
pub(crate) fn crates(self, crates: Vec<&Crate>) -> Self
Indicates it should run if the command-line selects any of the given crates.
make_run will be called a single time with all matching command-line paths.
Prefer ShouldRun::crate_or_deps to this function where possible.
pub fn alias(self, alias: &str) -> Self
Sourcepub fn path(self, path: &str) -> Self
pub fn path(self, path: &str) -> Self
single, non-aliased path
Must be an on-disk path; use alias for names that do not correspond to on-disk paths.
Sourcepub fn paths(self, paths: &[&str]) -> Self
pub fn paths(self, paths: &[&str]) -> Self
Multiple aliases for the same job.
This differs from path in that multiple calls to path will end up calling make_run
multiple times, whereas a single call to paths will only ever generate a single call to
make_run.
This is analogous to all_krates, although all_krates is gone now. Prefer path where possible.
Sourcefn is_suite_path(&self, requested_path: &Path) -> Option<&PathSet>
fn is_suite_path(&self, requested_path: &Path) -> Option<&PathSet>
Handles individual files (not directories) within a test suite.
pub fn suite_path(self, suite: &str) -> Self
pub fn never(self) -> ShouldRun<'a>
Sourcefn pathset_for_paths_removing_matches(
&self,
paths: &mut [CLIStepPath],
kind: Kind,
) -> Vec<PathSet>
fn pathset_for_paths_removing_matches( &self, paths: &mut [CLIStepPath], kind: Kind, ) -> Vec<PathSet>
Given a set of requested paths, return the subset which match the Step for this ShouldRun,
removing the matches from paths.
NOTE: this returns multiple PathSets to allow for the possibility of multiple units of work
within the same step. For example, test::Crate allows testing multiple crates in the same
cargo invocation, which are put into separate sets because they aren’t aliases.
The reason we return PathSet instead of PathBuf is to allow for aliases that mean the same thing
(for now, just all_krates and paths, but we may want to add an aliases function in the future?)
Auto Trait Implementations§
impl<'a> !Freeze for ShouldRun<'a>
impl<'a> !RefUnwindSafe for ShouldRun<'a>
impl<'a> !Send for ShouldRun<'a>
impl<'a> !Sync for ShouldRun<'a>
impl<'a> Unpin for ShouldRun<'a>
impl<'a> !UnwindSafe for ShouldRun<'a>
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
§impl<T> Pointable for T
impl<T> Pointable for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 72 bytes