pub struct ConformReport {
pub producer: String,
pub slice_source: ConformSource,
pub origins_asked: Vec<String>,
pub assertions: Vec<Assertion>,
pub summary: ConformSummary,
pub verdict: ConformVerdict,
pub observation: Option<ObservationSummary>,
pub deep: bool,
pub not_asked: Vec<String>,
}Expand description
The zenctl check conform report (#222).
Fields§
§producer: StringThe producer whose registry is the suite.
slice_source: ConformSource§origins_asked: Vec<String>The origins the run-time half called — the roster’s, or the one
--origin named. Empty means nothing could be called, and every
run-time assertion says so.
assertions: Vec<Assertion>§summary: ConformSummary§verdict: ConformVerdict§observation: Option<ObservationSummary>The listen window (--for), when one ran — its scopes, and its
drops, which weaken every observed/… answer to a lower bound
(RFC 13 §3 O6).
deep: boolWhether the --deep checks (freshness, budget) ran.
not_asked: Vec<String>The questions this run did not put, one sentence each (O4) — absent when it put every one it could.
Implementations§
Source§impl ConformReport
impl ConformReport
Sourcepub fn junit(&self) -> String
pub fn junit(&self) -> String
The report as JUnit XML, the medium a consumer’s CI already reads.
One <testsuite> named for the producer, one <testcase> per
assertion (classname the producer, name the id). A not-met assertion
is a <failure>; an unknowable one is <skipped>, never a
failure (RFC 13 §3: “a build MUST NOT go red on one”); an exemption
rides <system-out>. No timestamp and no duration: two runs over
the same fleet write the same bytes, which is what lets a CI diff
the artifact.
Trait Implementations§
Source§impl Clone for ConformReport
impl Clone for ConformReport
Source§impl Debug for ConformReport
impl Debug for ConformReport
Auto Trait Implementations§
impl Freeze for ConformReport
impl RefUnwindSafe for ConformReport
impl Send for ConformReport
impl Sync for ConformReport
impl Unpin for ConformReport
impl UnsafeUnpin for ConformReport
impl UnwindSafe for ConformReport
Blanket Implementations§
Source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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