0.3.15-pre.012

This commit is contained in:
2026-09-16 10:58:29 +02:00
parent 2f587e22be
commit 31ae38853d
21 changed files with 815 additions and 79 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-app-raw-transaction-ingest-desk/tests/desktop_contract.rs
// version: 9
// version: 10
//! Desktop scaffold contract canaries for Raw Transaction Ingest Desk.
@@ -274,3 +274,36 @@ fn pre_011_fix_001_monitoring_bridge_is_bounded_and_steady_updates_preserve_rout
assert!(main.contains(required), "missing pre.011-fix.001 stable-control marker {required}");
}
}
#[test]
fn pre_012_window_shutdown_and_start_stop_races_are_bounded_backend_owned() {
let tauri = read_text(app_root().join("src/tauri.rs").as_path());
for required in [
"configure_window_events(builder)",
"tauri::WindowEvent::CloseRequested",
"api.prevent_close()",
"state.begin_shutdown()",
"state.shutdown_routes().await",
"app_handle.exit(0)",
"app_handle.exit(1)",
] {
assert!(tauri.contains(required), "missing pre.012 bounded shutdown marker {required}");
}
let runtime = read_text(app_root().join("src/route_runtime.rs").as_path());
for required in [
"shutting_down: bool",
"stop_requested: bool",
"ROUTE_SHUTDOWN_TIMEOUT",
"ensure_start_admission_open",
"shutdown_and_wait",
"RouteStopTarget::Starting",
"*stop_requested = true",
"handle.request_stop()",
] {
assert!(runtime.contains(required), "missing pre.012 route-race marker {required}");
}
let app_state = read_text(app_root().join("src/app_state.rs").as_path());
assert!(app_state.contains("let generation = self.inventory_generation.lock()"));
assert!(app_state.contains("std::mem::drop(generation)"));
assert!(app_state.contains("self.route_runtime.ensure_start_admission_open()"));
}