pub struct TestFilter {
pub suites: Vec<String>,
pub cases: Vec<String>,
pub partial: bool,
pub skipped: Vec<(String, String)>,
}Expand description
The --suite and --case values of one run. Empty values are dropped and
duplicates removed, keeping the first occurrence, so an empty flag is unset
as --case "" always was.
Fields§
§suites: Vec<String>§cases: Vec<String>§partial: boolThe run sees only part of the selection (--partial-selection, which an
orchestrator that runs the selection as several processes passes): it
judges nothing, and leaves the unmatched values to its caller.
skipped: Vec<(String, String)>The (suite, case) pairs the build skipped that this filter selects
(--against … --skip-unsupported). They are not in the build, so the
runner is told they exist: a selected skipped case is not unmatched.
Implementations§
Source§impl TestFilter
impl TestFilter
Sourcepub fn new(suites: &[String], cases: &[String]) -> Self
pub fn new(suites: &[String], cases: &[String]) -> Self
The filter for the --suite and --case values as given.
Sourcepub fn selects(&self, suite: &str, case: &str) -> bool
pub fn selects(&self, suite: &str, case: &str) -> bool
Whether case of suite is selected: its suite is among the --suite
values (if any) and its name among the --case values (if any).
Sourcepub fn with_skipped<'a>(
self,
skipped: impl IntoIterator<Item = (&'a str, &'a str)>,
) -> Self
pub fn with_skipped<'a>( self, skipped: impl IntoIterator<Item = (&'a str, &'a str)>, ) -> Self
The same filter, told which of the build’s skipped (suite, case) pairs it selects.
Sourcepub fn unmatched_in(&self, available: &[(String, String)]) -> Unmatched
pub fn unmatched_in(&self, available: &[(String, String)]) -> Unmatched
The values that select nothing among available (suite, case) pairs: a
suite no pair has, and a case no pair in a selected suite has. The
runner judges the same way; --against dev asks it before starting
anything, because it runs the selection in several processes.
Sourcepub fn args(&self) -> Vec<String>
pub fn args(&self) -> Vec<String>
The filter as the arguments that select it again, for a child bynkc test.
Sourcepub fn apply(&self, program: &str, cmd: &mut ProcCommand)
pub fn apply(&self, program: &str, cmd: &mut ProcCommand)
Hand the filter to the runner cmd launches. program (bynkc or
bynk) is carried so a rich run, whose output the driver cannot read,
names the same program in its error as a JSON run does.
Trait Implementations§
Source§impl Clone for TestFilter
impl Clone for TestFilter
Source§fn clone(&self) -> TestFilter
fn clone(&self) -> TestFilter
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TestFilter
impl Debug for TestFilter
Source§impl Default for TestFilter
impl Default for TestFilter
Source§fn default() -> TestFilter
fn default() -> TestFilter
Source§impl PartialEq for TestFilter
impl PartialEq for TestFilter
impl Eq for TestFilter
impl StructuralPartialEq for TestFilter
Auto Trait Implementations§
impl Freeze for TestFilter
impl RefUnwindSafe for TestFilter
impl Send for TestFilter
impl Sync for TestFilter
impl Unpin for TestFilter
impl UnsafeUnpin for TestFilter
impl UnwindSafe for TestFilter
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling [Attribute] value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi [Quirk] value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the [Condition] value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);