pub struct Probe {
pub name: String,
pub expr: String,
pub classify: Classify,
pub tags: Vec<String>,
}Expand description
A single parity probe — an expression to evaluate and a rule for comparing outputs.
Fields§
§name: String§expr: String§classify: ClassifyTrait Implementations§
Source§impl<'de> Deserialize<'de> for Probe
impl<'de> Deserialize<'de> for Probe
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl ParityCheck for Probe
impl ParityCheck for Probe
Tags attached to this probe. Sweep filters include/exclude by
tag membership.
Source§fn sui_invocation(&self, ctx: &ProbeContext, sui_bin: &Path) -> Command
fn sui_invocation(&self, ctx: &ProbeContext, sui_bin: &Path) -> Command
Construct the
sui invocation for this probe. Implementations
must NOT use shell strings — every argument is added via typed
Command APIs.Source§fn nix_invocation(&self, ctx: &ProbeContext, nix_bin: &Path) -> Command
fn nix_invocation(&self, ctx: &ProbeContext, nix_bin: &Path) -> Command
Construct the
nix invocation for this probe (the cppnix oracle).Source§fn classify(&self, sui: &CapturedOutput, nix: &CapturedOutput) -> Verdict
fn classify(&self, sui: &CapturedOutput, nix: &CapturedOutput) -> Verdict
Classify the (sui, nix) output pair. Default behavior covers
the spawn/timeout/exit-code matrix; overrides handle the
comparison-rule layer.
Source§fn applies(&self, _ctx: &ProbeContext) -> bool
fn applies(&self, _ctx: &ProbeContext) -> bool
Whether this probe applies to the given context. Default is
always-applies; rebuild probes override to skip e.g. Darwin
stages on Linux.
Source§impl Spec for Probe
impl Spec for Probe
Source§const CANONICAL_LISP: &'static str = crate::probe::CANONICAL_PROBES_LISP
const CANONICAL_LISP: &'static str = crate::probe::CANONICAL_PROBES_LISP
The embedded canonical Lisp source for this domain.
Wrapped over
include_str! in the domain’s own module.Source§impl TataraDomain for Probe
impl TataraDomain for Probe
Source§fn compile_from_args(args: &[Sexp]) -> Result<Self>
fn compile_from_args(args: &[Sexp]) -> Result<Self>
Parse the argument list (everything after the keyword) into Self.
Auto Trait Implementations§
impl Freeze for Probe
impl RefUnwindSafe for Probe
impl Send for Probe
impl Sync for Probe
impl Unpin for Probe
impl UnsafeUnpin for Probe
impl UnwindSafe for Probe
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.