pub enum HostClass {
NotHostClass,
Skip {
reason: String,
},
Fail {
reason: String,
},
}Expand description
Outcome of classifying a test-body error against the host-insufficiency taxonomy.
The reason strings are BARE — they carry NO ktstr: SKIP: /
ktstr: FAIL: prefix. Each consumer adds the prefix in its own
channel: dispatch routes Skip through
report::test_skip (which prepends ktstr: SKIP:) and eprintln!s
Fail as ktstr: FAIL: {reason}; the macro
eprintln!s the skip and panic!s the fail with the same two
prefixes.
Variants§
NotHostClass
Not one of the six host-insufficiency types — the consumer
applies its own per-site handling (dispatch: the
PostVmAssertionFailure / ExpectAutoReproSatisfied /
expect_err / catch-all arms; macro: the expect_err swallow or
the expect_ok panic).
Skip
The host cannot run the test and no retry changes that
(KTSTR_NO_SKIP_MODE unset). A visible, non-failing skip.
Fail
A hard failure: an unconditional hard-fail type
(CpuBudgetUnsatisfiable / TopologyUnrepresentable) OR a
skip-class type promoted to a failure under KTSTR_NO_SKIP_MODE.
Trait Implementations§
impl Eq for HostClass
impl StructuralPartialEq for HostClass
Auto Trait Implementations§
impl Freeze for HostClass
impl RefUnwindSafe for HostClass
impl Send for HostClass
impl Sync for HostClass
impl Unpin for HostClass
impl UnwindSafe for HostClass
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<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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more