Skip to main content

trellis_testing/
lib.rs

1//! Companion testing helpers for Trellis.
2//!
3//! This crate is intentionally narrow. It helps tests inspect transaction
4//! traces, resource lifecycle plans, materialized output frames, and
5//! conformance support levels without executing host resources or replacing
6//! Rust's existing testing ecosystem.
7//!
8//! The Cargo package is named `trellis-testing` to avoid the crates.io
9//! normalized-name collision with `trellis_test`.
10
11#![forbid(unsafe_code)]
12#![deny(missing_docs)]
13
14mod audit;
15mod conformance;
16mod harness;
17mod harness_step;
18mod host;
19mod host_status;
20mod oracle;
21mod output_ledger;
22mod output_ledger_dump;
23mod resource_assertions;
24mod resource_error;
25mod resource_ledger;
26mod resource_ledger_dump;
27mod resource_state;
28mod scenario;
29mod script;
30mod serialized;
31
32pub use audit::{
33    AuditAssertionError, OutputAuditContext, ResourceAuditContext, assert_dependency_path_exists,
34    assert_no_unexplained_output_frame, assert_no_unexplained_plan,
35};
36pub use conformance::{
37    ConformanceCheckReport, ConformanceCheckResult, ConformanceFailure, ConformanceLevel,
38    ConformanceReport, ConformanceRunner, ConformanceSuite, conformance,
39};
40pub use harness::{ScenarioTarget, TrellisHarness};
41pub use harness_step::HarnessStep;
42pub use host::{FakeHost, FakeHostEvent};
43pub use host_status::{HostStatusClass, HostStatusEvent, HostStatusRecord};
44pub use oracle::{
45    FullRecomputeOracle, OracleCheck, OracleMismatch, assert_incremental_equals_full,
46};
47pub use output_ledger::{OutputLedger, OutputLedgerError, OutputSnapshot};
48pub use resource_error::{ResourceCommandContext, ResourceLedgerError, ResourceStatusContext};
49pub use resource_ledger::ResourceLedger;
50pub use resource_state::{ResourceCommandRecord, ResourceSnapshot};
51pub use scenario::{NoRedaction, Scenario, ScenarioError, ScenarioStep, TraceRedactor};
52pub use script::{TransactionScript, TransactionScriptStep, TransactionScriptStepBuilder};
53pub use serialized::{
54    DataScriptStep, DataScriptStepBuilder, DataTransactionScript, SerializedScenario,
55    SerializedScenarioStep, TRACE_FORMAT_VERSION,
56};
57
58pub(crate) use script::StageOperation;
59
60#[cfg(feature = "proptest")]
61pub mod proptest;