// file: crates/ksp-job-backfill-lib/tests/release_completeness.rs // version: 4 //! Completeness canaries through the `pre.008` bounded execution/checkpoint tranche. #[test] fn pre_008_production_module_inventory_is_exact() -> std::io::Result<()> { let source_root = std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("src"); let entries = match std::fs::read_dir(source_root) { std::result::Result::Ok(value) => value, std::result::Result::Err(error) => return std::result::Result::Err(error), }; let mut names = std::vec::Vec::new(); for entry in entries { let entry = match entry { std::result::Result::Ok(value) => value, std::result::Result::Err(error) => return std::result::Result::Err(error), }; let file_type = match entry.file_type() { std::result::Result::Ok(value) => value, std::result::Result::Err(error) => return std::result::Result::Err(error), }; if !file_type.is_file() { continue; } let name = match entry.file_name().into_string() { std::result::Result::Ok(value) => value, std::result::Result::Err(_) => continue, }; if name.ends_with(".rs") { names.push(name); } } names.sort_unstable(); assert_eq!( names, std::vec!["checkpoint.rs", "constants.rs", "conversion.rs", "discovery.rs", "error.rs", "execution.rs", "lib.rs", "persistence.rs", "request.rs"] ); return std::result::Result::Ok(()); } #[test] fn pre_008_surface_adds_bounded_execution_and_checkpoint_without_pre_009_runtime() { let root = include_str!("../src/lib.rs"); for required in [ "BackfillCandidate", "BackfillCandidateIdentity", "BackfillCommitment", "BackfillDiscovery", "BackfillDiscoveryBoundary", "BackfillRequest", "BackfillScope", "BackfillScopeFingerprint", "BackfillSignature", "discover_backfill_candidates", "BackfillRawAcquisition", "BackfillHydrationOutcome", "hydrate_backfill_candidate", "BackfillPersistenceOutcome", "BackfillEntityPersistence", "BackfillObservationPersistence", "persist_backfill_hydration", "BackfillCheckpoint", "BackfillExecutionBatch", "execute_backfill_discovery", "ERROR_CODE_BACKFILL_CHECKPOINT_INVALID", "ERROR_CODE_BACKFILL_EXECUTION_INVALID", ] { assert!(root.contains(required), "required pre.008 public contract missing: {required}"); } for forbidden in ["BackfillJobHandle", "BackfillSnapshot", "JobSnapshotSource", "tokio::", "FuturesUnordered"] { assert!(!root.contains(forbidden), "pre.009 or runtime implementation detail leaked into public root: {forbidden}"); } assert!(!root.contains("pub mod ")); return; }