v0.3.14-pre.008
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
// file: crates/ksp-worker-raw-transaction-ingest-lib/tests/hardening.rs
|
||||
// version: 31
|
||||
// version: 32
|
||||
|
||||
//! External public, security, redaction and release-boundary hardening canaries through `v0.3.14-pre.007`.
|
||||
//! External public, security, redaction and release-boundary hardening canaries through `v0.3.14-pre.008`.
|
||||
|
||||
fn network(value: &'static str) -> std::option::Option<ksp_store_lib::RawNetworkId> {
|
||||
let result = ksp_store_lib::RawNetworkId::new(value);
|
||||
@@ -1143,3 +1143,45 @@ fn v0_3_14_pre_007_known_reference_hydration_reuses_one_registry_and_preserves_m
|
||||
assert!(!root.contains("repair"), "pre.007 leaked lower-case repair responsibility through crate root");
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn v0_3_14_pre_008_reconciliation_and_source_loss_are_target_coverage_gated_without_respawn() {
|
||||
let continuity = include_str!("../src/continuity.rs");
|
||||
let resources = include_str!("../src/runtime_resources.rs");
|
||||
let root = include_str!("../src/lib.rs");
|
||||
for required in [
|
||||
"RawTransactionIngestSourceLossDecision",
|
||||
"source_loss_decision",
|
||||
"is_covered_by_active_sources",
|
||||
"reconcile_with_coverage_epochs",
|
||||
"record_coverage_epoch",
|
||||
"record_known_reference_gap",
|
||||
"record_source_loss_gap",
|
||||
"continuity_frontier",
|
||||
"has_open_gaps",
|
||||
"continuity.source_loss_active_set_invalid",
|
||||
"RawTransactionIngestSourceLossDecision::Fault",
|
||||
"RawTransactionIngestSourceLossDecision::Continue",
|
||||
] {
|
||||
assert!(continuity.contains(required), "required pre.008 reconciliation guard missing: {required}");
|
||||
}
|
||||
for required in [
|
||||
"source_loss_is_reconcilable",
|
||||
"inventory.supervisor_state()",
|
||||
"source_loss_continuity_range",
|
||||
"contracts.record_known_reference_gap",
|
||||
"contracts.record_source_loss_gap",
|
||||
"contracts.source_loss_decision",
|
||||
"RawTransactionIngestSourceLossDecision::Continue",
|
||||
"RawTransactionIngestSourceLossDecision::Fault",
|
||||
"source.websocket_incident_unbounded",
|
||||
"source.replay_coverage_unproven",
|
||||
] {
|
||||
assert!(resources.contains(required), "required pre.008 supervisor gate missing: {required}");
|
||||
}
|
||||
assert!(!resources.contains("respawn_source"));
|
||||
assert!(!resources.contains("restart_source"));
|
||||
assert!(!root.contains("pub use self::continuity::RawTransactionIngestSourceLossDecision"));
|
||||
assert!(!root.contains("repair"), "pre.008 leaked lower-case repair responsibility through crate root");
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user