AppSurface Search
API Reference

Aspire

Type

EvidenceCoverageFanInRequest

Source

Trusted, caller-supplied inputs for native coverage fan-in verification.

Type

EvidenceCoverageFanInResult

Source

Verified fan-in counters and the identities of the four accepted inputs.

Type

EvidenceCoverageFanIn

Verifies the existing coverage fan-in receipt, its inputs, and gate outputs.

Native capture and coverage fan-in composition operations.

Method

VerifyAsync

ValueTask<EvidenceCoverageFanInResult> VerifyAsync(EvidenceCoverageFanInRequest request, CancellationToken cancellationToken = default)

Validates all fan-in evidence and returns counters only after every comparison succeeds.

Method

CaptureAsync

ValueTask CaptureAsync(EvidenceCoverageCaptureRequest request, CancellationToken cancellationToken = default)

Validates and snapshots a producer report into a fresh manifest-backed capture directory.

Remarks

Native captures require the exact NativeFilter selection and the original collector XML. Solution captures require a complete successful timing inventory.

Method

ComposeAsync

ValueTask ComposeAsync(EvidenceCoverageFanInRequest request, CancellationToken cancellationToken = default)

Validates four capture bundles and writes the composed report, primary-path report, and verification receipt.

Remarks

Gate files are deliberately not required here because CI generates them from these outputs before calling VerifyAsync . Fresh output is required; the final verifier must run after both gate reports exist.

Type

EvidenceWorkspaceLinuxIdentity

Source

Retains a Linux directory object so child writes cannot change its identity or permit inode reuse.

Remarks

Linux CreationTimeUtc may fall back to mutable directory timestamps. Device/inode identity is independent of those timestamps. Opens reject links and nondirectories; the held descriptor keeps the original object alive across path replacement. This boundary supports the verified Linux x64 and ARM64 native stat layouts only.

Method

Open

EvidenceWorkspaceLinuxIdentity Open(string path)

Opens an existing directory without following its final path component.

Method

Matches

bool Matches(string path)

Checks that a no-follow reopen still names the retained directory object.

Method

Dispose

void Dispose()

Releases the retained directory descriptor after owned cleanup or failed admission.

Type

EvidenceAspireApplicationLifetime

Source

Shares one application cleanup across the readiness registrations created by its owner.

Parameters

  • disposeApplication
    Stops and disposes the existing application once, after its final registration releases or its owner explicitly disposes.

Remarks

A registration releases only its own interest. The last registration closes admission and runs cleanup; explicit owner disposal also closes admission. Callbacks run outside the admission lock. Direct owner disposal is reserved for callers that have already stopped all readiness work.

Method

Acquire

IAsyncDisposable Acquire()

Acquires one independently disposable readiness registration before cleanup begins.

Returns

A registration whose final release joins the shared application cleanup.

Exceptions

  • ObjectDisposedException
    Application cleanup has begun.
Method

ThrowIfDisposed

void ThrowIfDisposed()

Rejects creating readiness work after application cleanup has begun.

Exceptions

  • ObjectDisposedException
    Application cleanup has begun.
Method

DisposeAsync

ValueTask DisposeAsync()

Closes registration admission and joins the one application cleanup result.

Returns

The shared cleanup completion, including its original failure.

Remarks

Cleanup callback reentry returns immediately to avoid awaiting its own completion.

Type

EvidenceCommandException

Source

Identifies a bounded command execution failure without exposing command inputs or environment values.

Property

Code

string Code { get; } Source

Gets the stable failure classification.

Type

EvidenceCommandRequest

Source

Describes one explicit, bounded command invocation.

Parameters

  • FileName
    Executable name or path passed directly to the operating system.
  • Arguments
    Arguments passed as individual argv entries; no shell parsing is performed.
  • WorkingDirectory
    Absolute working directory for the child process.
  • Timeout
    Positive maximum execution duration, at most 4,294,967,294 milliseconds.
Property

Environment

IReadOnlyDictionary<string, string> Environment { get; init; } Source

Gets explicit environment entries added to the child process.

Property

MaximumOutputBytes

long MaximumOutputBytes { get; init; } Source

Gets the combined UTF-8 byte budget for stdout and stderr.

Property

CheckBudget

Func<CancellationToken, ValueTask>? CheckBudget { get; init; } Source

Gets an optional consumer budget check polled at most 250 milliseconds apart.

Type

EvidenceCommandResult

Source

Contains bounded output and timing from a completed command.

Parameters

  • ExitCode
    Operating-system exit code.
  • StandardOutput
    Captured UTF-8 stdout, truncated by the request's total byte budget.
  • StandardError
    Captured UTF-8 stderr, truncated by the request's total byte budget.
  • ElapsedMilliseconds
    Elapsed wall-clock execution time.
Property

OutputTruncated

bool OutputTruncated { get; init; } Source

Gets whether the command exceeded its combined output capture budget.

Type

EvidenceCommandRunner

Source

Runs explicit argv commands with bounded output and owned process-tree cleanup.

Method

RunAsync

Task<EvidenceCommandResult> RunAsync(EvidenceCommandRequest request, CancellationToken cancellationToken = default)

Runs the requested command without invoking a shell.

Parameters

  • request
    Explicit command and execution bounds.
  • cancellationToken
    Caller cancellation; it is rethrown after process cleanup.

Returns

A bounded command result.

Exceptions

  • EvidenceCommandException
    Thrown for start, timeout, budget, or cleanup failures.
Type

EvidenceAspireHttpReadinessOptions

Source

Configures the HTTP condition and optional owned transport used by an Aspire readiness adapter.

Remarks

Values are snapshotted when EvidenceAspireApplication.CreateHttpReadiness is called. A custom client factory is called once for each admitted readiness wait and must return a fresh HttpClient ; the adapter disposes that client after the wait finishes.

Method

Snapshot

EvidenceAspireHttpReadinessSettings Snapshot()

Validates and snapshots options without invoking the client factory.

Property

Http

HttpReadinessOptions Http { get; init; } Source

Gets the status-only HTTP policy; defaults to exact HTTP 200, a three-second request timer, and a 250 ms retry delay.

Property

CreateProbeClient

Func<Uri, HttpClient>? CreateProbeClient { get; init; } Source

Gets an optional factory for a fresh client configured for the resolved endpoint. The returned client becomes owned by the adapter and is disposed after its wait.

Type

EvidenceAspireHttpReadinessSettings

Source

Immutable internal settings shared by all waits admitted through one adapter.

Type

EvidenceBoundedReadStream

Source

Owns a forward-only read stream and enforces a cumulative byte limit and caller cancellation.

Remarks

Used for untrusted fan-in JSON and XML. The limit is checked after every read, including after file growth.

Type

EvidenceAspireHttpReadiness

Source

One resource's native-health and HTTP readiness operation with joined asynchronous disposal.

Method

WaitUntilReadyAsync

Task WaitUntilReadyAsync(CancellationToken cancellationToken)

Admits one independent wait unless cleanup has atomically closed admission.

Parameters

  • cancellationToken
    The original caller token kept distinct from deadline and adapter-stop cancellation.

Returns

A task completing after readiness and per-wait client cleanup settle.

Exceptions

  • ObjectDisposedException
    The adapter has begun cleanup.
Method

DisposeAsync

ValueTask DisposeAsync()

Closes admission, cancels and drains admitted waits, then disposes the existing application lease once.

Returns

The shared cleanup task observed by every external disposal caller.

Remarks

Reentry from a cleanup callback does not wait on its own cleanup flow.

Method

ResolveEndpointUri

Uri ResolveEndpointUri(string? endpointValue)

Validates the allocated host-local value without retaining it in failure diagnostics.

Parameters

  • endpointValue
    The value allocated by the selected native Aspire endpoint.

Returns

An absolute HTTP(S) URI with a nonempty host.

Exceptions

  • ReadinessException
    The value is absent, relative, malformed, or uses a non-HTTP scheme.
Method

FindFatalCleanupFailure

Exception? FindFatalCleanupFailure(Exception exception)

Preserves a fatal cleanup or diagnostic-storage leaf using the adapter's existing type policy.

Parameters

  • exception
    One failure, including nested client, callback, or registration cleanup aggregates.

Returns

The first original fatal failure, or null when all failures are nonfatal.

Type

EvidenceAspireApplication

Source

Owns one consumer-composed Aspire application used only by an EvidenceHost run.

Remarks

Build the supplied IDistributedApplicationBuilder in test or CI composition code, then register readiness adapters from this lease with EvidenceHostBootstrap . This type does not inspect the entry assembly and must not be added to normal application startup.

Method

StartAsync

Task<EvidenceAspireApplication> StartAsync(IDistributedApplicationBuilder builder, CancellationToken cancellationToken = default)

Builds and starts an explicitly supplied consumer Aspire application.

Parameters

  • builder
    Consumer-composed Aspire builder.
  • cancellationToken
    Cancellation requested while building or starting the application.

Returns

An evidence-owned application lease that stops and disposes the application.

Method

CreateHealthReadiness

IEvidenceResourceReadiness CreateHealthReadiness(string evidenceResourceId, string aspireResourceName)

Creates a readiness adapter that waits for the named Aspire resource's healthy state.

Parameters

  • evidenceResourceId
    Declared EvidenceHost resource identifier.
  • aspireResourceName
    Consumer-owned Aspire resource name.

Returns

An explicitly registered health readiness adapter.

Remarks

Dispose every returned adapter. It retains one application registration; only the final adapter release stops this application.

Method

CreateHttpReadiness

IEvidenceResourceReadiness CreateHttpReadiness(string evidenceResourceId, string resourceName, string endpointName, string probePath, TimeSpan timeout, EvidenceAspireHttpReadinessOptions? options = null)

Creates an EvidenceHost readiness adapter that waits for native Aspire health and then probes one named HTTP endpoint.

Parameters

  • evidenceResourceId
    Declared EvidenceHost resource identifier.
  • resourceName
    Exact consumer-owned Aspire resource name.
  • endpointName
    Exact named endpoint on the resource.
  • probePath
    Relative or root-relative HTTP path checked after health and endpoint allocation.
  • timeout
    One finite positive budget shared by health, endpoint allocation, HTTP requests, and retry delays.
  • options
    Optional immutable-at-call-time HTTP and owned-client settings.

Returns

A disposable readiness adapter that owns one fresh probe client per active wait and joins active waits before releasing its application registration.

Remarks

The adapter resolves the exact resource and endpoint from the running application's DistributedApplicationModel using Aspire.Hosting APIs. It does not require Aspire.Hosting.Testing. A custom client factory must return a fresh client for each wait; the adapter disposes each returned client after its probe completes. Each adapter retains this application until disposed. Only the last adapter release stops the application, so disposing one adapter cannot interrupt another adapter's admitted waits.

Method

CreateHttpReadinessCore

IEvidenceResourceReadiness CreateHttpReadinessCore(string evidenceResourceId, string probePath, TimeSpan timeout, HttpReadinessSettings settings, Func<CancellationToken, Task> waitForHealth, Func<CancellationToken, Task<string?>> resolveEndpoint, Func<Uri, HttpClient> createClient, Func<ValueTask> disposeLease, TimeProvider timeProvider)

Creates the adapter with controlled health, endpoint, transport, clock, and lease phases.

Parameters

  • evidenceResourceId
    The EvidenceHost resource identity assigned to the adapter.
  • probePath
    The relative or root-relative path validated by the neutral HTTP probe.
  • timeout
    The one finite positive adapter budget, including health and HTTP work.
  • settings
    The immutable validated HTTP policy snapshot shared by admitted waits.
  • waitForHealth
    The native-health phase, invoked before endpoint allocation.
  • resolveEndpoint
    The endpoint-value phase, invoked only after native health succeeds.
  • createClient
    Creates one fresh adapter-owned client for each admitted wait.
  • disposeLease
    Disposes the existing application owner after all waits and clients drain.
  • timeProvider
    The monotonic clock and timer provider used for deterministic budget tests.

Returns

A disposable readiness adapter with atomic wait admission and joined owner cleanup.

Method

ResolveEndpointReference

EndpointReference ResolveEndpointReference(DistributedApplicationModel model, string resourceName, string endpointName)

Resolves a unique named endpoint shape without allocating its value.

Parameters

  • model
    The host-local Aspire model obtained from the running application's services.
  • resourceName
    The exact resource name to select.
  • endpointName
    The exact endpoint name to select.

Returns

The exact HTTP(S) Aspire endpoint reference; value allocation remains deferred until after health.

Exceptions

  • ReadinessException
    The model has no unique matching resource, endpoint, or HTTP(S) endpoint shape.
Method

ResolveEndpointValueAsync

Task<string?> ResolveEndpointValueAsync(EndpointReference endpoint, CancellationToken cancellationToken)

Allocates the already validated exact endpoint after native resource health succeeds.

Parameters

  • endpoint
    The unique host-local endpoint reference selected from the model.
  • cancellationToken
    The original cooperative caller/deadline/adapter-stop token.

Returns

The allocated absolute endpoint value, or null when Aspire returns none.

Exceptions

  • ReadinessException
    Aspire reports that the selected endpoint cannot be allocated.
Method

EndpointUnavailable

ReadinessException EndpointUnavailable()

Creates the fixed, request-data-free endpoint diagnostic.

Method

DisposeAsync

ValueTask DisposeAsync()

Stops and disposes the owned Aspire application. Repeated calls join the same cleanup result.

Returns

A task that completes after bounded application cleanup.

Remarks

Stop all readiness work before directly disposing this owner. Adapter disposal releases only its own registration.

Type

EvidenceHostOptions

Source

Configures an explicit EvidenceHost lifecycle.

Parameters

  • RequireTrustedEnvelope
    Whether every run requires an accepted envelope verifier result.
  • ArtifactDirectory
    Controlled root for producer artifacts. Defaults to TestResults/evidence/artifacts .
Property

ProducerCleanupTimeout

TimeSpan ProducerCleanupTimeout { get; init; } Source

Gets the separate grace period for cancelled producers to finish before owned registrations are disposed.

Remarks

Defaults to ten seconds. If a producer remains active, cleanup fails and its registrations are preserved.

Type

EvidenceEnvelopeResult

Source

Describes a secret-safe execution-envelope validation result.

Parameters

  • Accepted
    Whether the envelope is accepted for the requested claim scope.
  • Attested
    Whether the verifier has independent attestation; v1 normally returns false .
  • Diagnostic
    Secret-safe failure or explanatory detail.
Type

IEvidenceExecutionEnvelopeVerifier

Source

Validates a CI-provided trusted execution envelope without exposing its secret values to a manifest.

Method

VerifyAsync

ValueTask<EvidenceEnvelopeResult> VerifyAsync(EvidencePlan plan, CancellationToken cancellationToken)

Validates the caller's protected CI context for the resolved plan.

Parameters

  • plan
    Resolved plan for the current execution.
  • cancellationToken
    Cancellation requested by the caller.

Returns

A constrained acceptance result.

Type

IEvidenceResourceReadiness

Source

Represents an explicitly registered readiness probe for a plan resource.

Method

WaitUntilReadyAsync

Task WaitUntilReadyAsync(CancellationToken cancellationToken)

Waits until the consumer-owned resource is ready or the supplied deadline cancels.

Parameters

  • cancellationToken
    Deadline and caller cancellation.

Returns

A task that completes only when the resource is ready.

Property

Id

string Id { get; } Source

Gets the stable plan resource identifier handled by this probe.

Type

EvidenceHostRegistration

Source

Collects the only resource, producer, and envelope registrations an EvidenceHost may use.

Method

AddResource

void AddResource(IEvidenceResourceReadiness resource)

Adds one explicitly named readiness probe.

Parameters

  • resource
    Consumer-owned resource readiness probe.
Method

AddProducer

void AddProducer(IEvidenceProducer producer)

Adds one explicitly named typed producer.

Parameters

  • producer
    Consumer-owned producer.
Method

SetEnvelopeVerifier

void SetEnvelopeVerifier(IEvidenceExecutionEnvelopeVerifier verifier)

Sets the single trusted execution-envelope verifier used by this host.

Parameters

  • verifier
    Base-owned verifier implementation.
Property

Resources

IReadOnlyDictionary<string, IEvidenceResourceReadiness> Resources { get; } Source

Gets explicitly registered resource readiness probes.

Property

Producers

IReadOnlyDictionary<string, IEvidenceProducer> Producers { get; } Source

Gets explicitly registered typed producers.

Property

EnvelopeVerifier

IEvidenceExecutionEnvelopeVerifier? EnvelopeVerifier { get; set; } Source

Gets the optional trusted execution-envelope verifier.

Type

EvidenceHostBootstrap

Source

Runs a separate, consumer-owned EvidenceHost with explicit registrations and bounded cleanup.

Method

Create

EvidenceHostBootstrap Create(EvidencePlan plan, Action<EvidenceHostRegistration> configure, EvidenceHostOptions? options = null, TimeProvider? timeProvider = null)

Creates a host with registrations supplied only by explicit caller code.

Parameters

  • plan
    Resolved immutable plan.
  • configure
    Consumer-owned registration callback.
  • options
    Optional lifecycle constraints.
  • timeProvider
    Clock seam for deterministic tests and deadline handling.

Returns

A single-use EvidenceHost instance.

Method

RunAsync

Task<EvidenceManifest> RunAsync(bool observationOnly = false, CancellationToken cancellationToken = default)

Validates envelope and registrations, waits for resources, runs selected producers, and collects a manifest.

Parameters

  • observationOnly
    Whether the caller intentionally requests a non-gate observation.
  • cancellationToken
    Caller cancellation for the complete bounded lifecycle.

Returns

A terminal immutable manifest.

Method

DisposeAsync

ValueTask DisposeAsync()

Disposes registered resources and producers if the host has not already cleaned them up.

Returns

A task that completes when owned cleanup settles.

Method

IsNonFatalException

bool IsNonFatalException(Exception exception)

Classifies failures that the host and readiness adapters may summarize or retain as secondary errors.

Parameters

  • exception
    The failure being classified.

Returns

False for out-of-memory, stack-overflow, access-violation, and unloaded-domain failures; true otherwise.

Remarks

Fatal failures must propagate unchanged. Classification does not perform cleanup or handle corrupted process state.

Property

Plan

EvidencePlan Plan { get; } Source

Gets the immutable plan owned by this host instance.

Property

State

EvidenceHostState State { get; set; } Source

Gets the current one-way EvidenceHost lifecycle state.

Type

EvidenceHostException

Source

Represents a stable, user-facing EvidenceHost lifecycle failure.

Property

Code

string Code { get; } Source

Gets the stable diagnostic code.

Property

Fix

string Fix { get; } Source

Gets the concrete recovery action.

Type

EvidenceWorkspaceWindowsIdentity

Source

Retains a Windows directory object and its volume/128-bit file identity through workspace cleanup.

Remarks

Opens the final component without following reparse points and rejects nondirectories. Sharing permits ordinary producer writes, rename and deletion; a renamed original remains alive until release. Creation timestamps are not identity because Windows can preserve them when a path is recreated.

Method

Open

EvidenceWorkspaceWindowsIdentity Open(string path)

Retains an existing directory using an extended absolute path and no-follow native open.

Method

Matches

bool Matches(string path)

Checks a no-follow reopen against the still-retained original directory.

Method

Dispose

void Dispose()

Releases the original directory after cleanup or failed admission.

Method

IsUsableFileId

bool IsUsableFileId(ulong low, ulong high)

Rejects an unavailable all-zero native file ID before it can authorize a root.

Method

ExtendedPath

string ExtendedPath(string absolutePath)

Formats an already absolute drive or UNC path for a Unicode native open.

Remarks

The caller normalizes navigation before adding this prefix; it grants no filesystem access.

Type

EvidenceWorkspaceOptions

Source

Configures the private scratch directory owned by an EvidenceWorkspace .

Parameters

  • MaximumBytes
    Maximum logical size of files beneath the workspace.
  • MinimumFreeBytes
    Minimum free bytes required on the volume containing the workspace.
  • MaxEntries
    Maximum number of entries that a workspace inventory may inspect.
  • MaxDepth
    Maximum directory depth below the workspace root.
Type

EvidenceWorkspaceBudgetException

Source

Reports that an EvidenceWorkspace has exhausted its configured storage allowance.

Property

LogicalBytes

long LogicalBytes { get; } Source

Gets the observed logical file size.

Property

MaximumBytes

long MaximumBytes { get; } Source

Gets the configured logical size limit.

Property

FreeBytes

long FreeBytes { get; } Source

Gets the observed free bytes on the workspace volume.

Property

MinimumFreeBytes

long MinimumFreeBytes { get; } Source

Gets the configured minimum free-space requirement.

Type

EvidenceWorkspace

Source

Owns a fresh random scratch directory beneath a caller-owned parent directory.

Remarks

The parent and any durable evidence beside the workspace remain caller-owned. Disposal removes only the fresh workspace after validating its ownership marker and retained filesystem metadata. A missing, replaced, or linked root is treated as invalid evidence. Inventory is bounded by EvidenceWorkspaceOptions.MaxEntries and EvidenceWorkspaceOptions.MaxDepth before any cleanup deletion begins. The retained metadata combines a unique marker with retained metadata, a held device/inode identity on Linux, and a held volume/file identity on Windows. Creation timestamps alone cannot establish directory identity. Callers must treat the workspace as trusted and must not concurrently replace or mutate its paths while it is in use. No portable implementation can eliminate every time-of-check/time-of-use race against a hostile concurrent process.

Method

Create

EvidenceWorkspace Create(string parent, EvidenceWorkspaceOptions? options = null)

Creates a new random workspace beneath parent .

Parameters

  • parent
    An existing caller-owned directory. It is never deleted by this type.
  • options
    Optional scratch and free-space limits.

Returns

An owned workspace lease.

Method

CreateWithAdmissionHooksForTests

EvidenceWorkspace CreateWithAdmissionHooksForTests(string parent, Action<string>? beforeIdentity, Action<string>? beforeMarker)

Exercises admission rollback with faults at the two ownership boundaries.

Parameters

  • parent
    The existing caller-owned parent used by the production creation path.
  • beforeIdentity
    Runs after fresh-root allocation, before retaining its identity.
  • beforeMarker
    Runs after identity retention, before writing the ownership marker.

Returns

The production workspace when neither hook fails.

Remarks

Hooks are restricted to friend-assembly failure tests. They do not replace filesystem observations or cleanup. Any hook failure must preserve its original exception and the ordinary preservation rules.

Method

CheckBudget

void CheckBudget()

Checks logical scratch usage and actual volume free space.

Exceptions

  • EvidenceWorkspaceBudgetException
    The workspace exceeds either configured limit.
Method

GetPath

string GetPath(string relativePath)

Returns a normalized absolute path for an owned artifact beneath the workspace.

Parameters

  • relativePath
    A non-rooted path that stays within the workspace.
Method

DisposeAsync

ValueTask DisposeAsync()

Removes only the owned workspace after revalidating its identity.

Method

MeasureWithRetry

long MeasureWithRetry(Func<long> measure, Action validateOwnedRoot, bool retryTransientWindowsErrors)

Retries a complete inventory only for transient Windows filesystem access failures.

Parameters

  • measure
    The complete bounded inventory and byte measurement; partial results are discarded.
  • validateOwnedRoot
    Ownership validation before each attempt and after successful measurement.
  • retryTransientWindowsErrors
    Whether the caller is running on Windows.

Returns

A complete measurement after successful ownership validation.

Remarks

Maintenance can delete descendants while a budget sample inventories them. At most three measurements are attempted, separated by 10 ms, for exact access-denied, sharing-violation or delete-pending HRESULTs. Ownership validation, inventory bounds, quota checks and volume checks are never retried or suppressed. The delegates allow friend assemblies to verify the retry boundary without replacing production checks.

Property

RootPath

string RootPath { get; } Source

Gets the newly created absolute workspace path.

Type

EvidenceCoverageCaptureRequest

Source

Explicit inputs used to snapshot one successful coverage producer run.

Parameters

  • RepositoryRoot
    Absolute source checkout used by the producer.
  • OutputDirectory
    Fresh destination for the capture bundle.
  • ReportPath
    Normalized Cobertura report produced by the runner.
  • RawReportPath
    Original collector report for native captures; null for solution captures.
  • TimingsPath
    Full solution timing inventory for solution captures; null for native captures.
  • Scope
    Either solution or native .
  • Commit
    Trusted expected checkout commit.
  • Tree
    Trusted expected checkout tree.
  • Sdk
    Trusted .NET SDK identity.
  • Configuration
    Build configuration, either Debug or Release.
  • Run
    Workflow provenance values, normally repository, run id and attempt.
  • Platform
    Native runner platform; solution captures use the current platform identity.
  • ExpectedTestProjects
    Complete expected solution test-project inventory.

Remarks

The caller supplies source identity and workflow provenance through a trusted channel. Capture is a local snapshot, not a signature.

Type

EvidenceCommandProducer

Source

Adapts one bounded command to the typed EvidenceHost producer contract.

Method

ProduceAsync

ValueTask<EvidenceProducerResult> ProduceAsync(EvidenceProducerContext context, CancellationToken cancellationToken)

Runs the command and evaluates assertions only after a zero exit code.

Property

Id

string Id { get; } Source

Gets the stable producer identifier.

Enum

EvidenceHostState

Source

Describes the lifecycle state of an explicit consumer-owned EvidenceHost instance.