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
pub fn path(self, path: &str) -> Self
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
paths
.
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 Vec<PathBuf>,
kind: Kind,
) -> Vec<PathSet>
fn pathset_for_paths_removing_matches( &self, paths: &mut Vec<PathBuf>, 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