0.3.15-pre.013
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-worker-raw-transaction-ingest-lib/tests/hardening.rs
|
||||
// version: 38
|
||||
// version: 39
|
||||
|
||||
//! External public, security, redaction and release-boundary hardening canaries through `v0.3.15-pre.004`.
|
||||
|
||||
@@ -1413,3 +1413,39 @@ fn v0_3_15_pre_004_websocket_source_constructors_enforce_transport_capabilities_
|
||||
assert!(!resources.contains("match ws_endpoint.provider()"));
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn v0_3_15_pre_013_yellowstone_block_hydration_is_bounded_concurrent_and_stop_preemptible() {
|
||||
let resources = include_str!("../src/runtime_resources.rs");
|
||||
let block_run = match resources.split_once("async fn run_block_hydration(") {
|
||||
std::option::Option::Some((_, tail)) => match tail.split_once("/// Validated Helius") {
|
||||
std::option::Option::Some((body, _)) => body,
|
||||
std::option::Option::None => tail,
|
||||
},
|
||||
std::option::Option::None => "",
|
||||
};
|
||||
for required in [
|
||||
"RawTransactionIngestYellowstoneBlockHydrationCoordinator::new",
|
||||
"coordinator.start_hydrations",
|
||||
"joined = coordinator.tasks.join_next()",
|
||||
"update = session.next_update(), if can_receive",
|
||||
"coordinator.queue_slot(value.slot()",
|
||||
"coordinator.abort_all(&mut processing_frontier).await",
|
||||
] {
|
||||
assert!(block_run.contains(required), "required pre.013 bounded Yellowstone block hydration guard missing: {required}");
|
||||
}
|
||||
assert!(!block_run.contains("fetch_yellowstone_block_ingresses(&self"));
|
||||
assert!(!block_run.contains("admission_sender.send(ingress)"));
|
||||
for required in [
|
||||
"hydrate_yellowstone_block",
|
||||
"result = admission_sender.send(ingress)",
|
||||
"source.yellowstone_block_hydration_pending_saturated",
|
||||
"source.yellowstone_block_hydration_concurrency_missing",
|
||||
] {
|
||||
assert!(resources.contains(required), "required pre.013 Yellowstone block hydration bound missing: {required}");
|
||||
}
|
||||
for forbidden in ["unbounded_channel", "tokio::spawn(", "std::thread::spawn("] {
|
||||
assert!(!block_run.contains(forbidden), "pre.013 introduced forbidden unbounded/detached execution: {forbidden}");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-worker-raw-transaction-ingest-lib/tests/release_completeness.rs
|
||||
// version: 34
|
||||
// version: 35
|
||||
|
||||
//! Release-completeness canaries through the `v0.3.15-pre.004` WebSocket capability-enforcement tranche.
|
||||
|
||||
@@ -484,3 +484,15 @@ fn v0_3_15_pre_004_websocket_capability_enforcement_canaries_are_complete_withou
|
||||
assert!(!root.contains("supports_subscription"));
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn v0_3_15_pre_013_yellowstone_block_backpressure_fix_adds_no_public_surface() {
|
||||
let resource_tests = include_str!("../unit_tests/runtime_resources.rs");
|
||||
let hardening = include_str!("hardening.rs");
|
||||
let root = include_str!("../src/lib.rs");
|
||||
assert!(resource_tests.contains("v0_3_15_pre_013_yellowstone_block_hydration_coordinator_is_bounded_before_http_work"));
|
||||
assert!(hardening.contains("v0_3_15_pre_013_yellowstone_block_hydration_is_bounded_concurrent_and_stop_preemptible"));
|
||||
assert!(!root.contains("YellowstoneBlockHydrationCoordinator"));
|
||||
assert!(!root.contains("YellowstoneBlockHydrationContext"));
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user