#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic, missing_docs)]
use std::path::Path;
use std::process::Command;
#[test]
fn infrastructure_genericity_no_sddp_references() {
let manifest_dir = env!("CARGO_MANIFEST_DIR");
let workspace_root = Path::new(manifest_dir).join("..").join("..");
let src_path = Path::new(manifest_dir).join("src");
let output = Command::new("grep")
.args(["-riE", "sddp"])
.arg(&src_path)
.current_dir(&workspace_root)
.output()
.expect("infrastructure_genericity: failed to execute grep");
assert_eq!(
output.status.code(),
Some(1),
"grep found algorithm-specific references in cobre-io/src/:\n{}",
String::from_utf8_lossy(&output.stdout)
);
}
fn token(chars: &[char]) -> String {
chars.iter().collect()
}
#[test]
fn no_inline_stage_id_index_map_outside_resolver() {
let manifest_dir = env!("CARGO_MANIFEST_DIR");
let workspace_root = Path::new(manifest_dir).join("..").join("..");
let tuple_idiom = token(&[
'\\', '(', 's', '\\', '.', 'i', 'd', ',', ' ', '?', 'i', 'd', 'x', '\\', ')',
]);
let map_decl = token(&[
's', 't', 'a', 'g', 'e', '_', 'i', 'd', '_', 't', 'o', '_', 'i', 'd', 'x', ':', ' ', '?',
'(', 'H', 'a', 's', 'h', 'M', 'a', 'p', '|', 'B', 'T', 'r', 'e', 'e', 'M', 'a', 'p', ')',
]);
let pattern = format!("{tuple_idiom}|{map_decl}");
let output = Command::new("grep")
.args(["-rInE", &pattern])
.arg("crates/cobre-io/src/pipeline.rs")
.arg("crates/cobre-io/src/resolution")
.arg("crates/cobre-sddp/src/lp/builder")
.current_dir(&workspace_root)
.output()
.expect("stage_id index-map gate: failed to execute grep");
assert_eq!(
output.status.code(),
Some(1),
"an inline stage-id to study-index inverse-map idiom reappeared outside the \
sanctioned owners (StageIdResolver / cobre-core build_stage_index):\n{}",
String::from_utf8_lossy(&output.stdout)
);
}
#[test]
fn historical_input_no_positional_values_mw_field() {
let manifest_dir = env!("CARGO_MANIFEST_DIR");
let workspace_root = Path::new(manifest_dir).join("..").join("..");
let retired_field = token(&['v', 'a', 'l', 'u', 'e', 's', '_', 'm', 'w']);
let pattern = format!(r"\b{retired_field}\b");
let output = Command::new("grep")
.args(["-rn", "--include=*.rs", &pattern, "crates/"])
.current_dir(&workspace_root)
.output()
.expect("historical_input_no_positional_values_mw_field: failed to execute grep");
assert_eq!(
output.status.code(),
Some(1),
"the retired positional MW-vector field reappeared:\n{}",
String::from_utf8_lossy(&output.stdout)
);
}
#[test]
fn historical_input_no_required_anticipated_commitment_count() {
let manifest_dir = env!("CARGO_MANIFEST_DIR");
let workspace_root = Path::new(manifest_dir).join("..").join("..");
let retired_check = token(&[
'r', 'e', 'q', 'u', 'i', 'r', 'e', 'd', '_', 'a', 'n', 't', 'i', 'c', 'i', 'p', 'a', 't',
'e', 'd', '_', 'c', 'o', 'm', 'm', 'i', 't', 'm', 'e', 'n', 't', '_', 'c', 'o', 'u', 'n',
't',
]);
let pattern = format!(r"\b{retired_check}\b");
let output = Command::new("grep")
.args(["-rnE", "--include=*.rs", &pattern, "crates/"])
.current_dir(&workspace_root)
.output()
.expect(
"historical_input_no_required_anticipated_commitment_count: failed to execute grep",
);
assert_eq!(
output.status.code(),
Some(1),
"the retired positional-length commitment check reappeared:\n{}",
String::from_utf8_lossy(&output.stdout)
);
}
#[test]
fn historical_input_no_retired_per_surface_date_window_validators() {
let manifest_dir = env!("CARGO_MANIFEST_DIR");
let workspace_root = Path::new(manifest_dir).join("..").join("..");
let retired_validators = [
token(&[
'v', 'a', 'l', 'i', 'd', 'a', 't', 'e', '_', 'r', 'e', 'c', 'e', 'n', 't', '_', 'o',
'b', 's', 'e', 'r', 'v', 'a', 't', 'i', 'o', 'n', 's', '_', 'd', 'a', 't', 'e', 's',
]),
token(&[
'v', 'a', 'l', 'i', 'd', 'a', 't', 'e', '_', 'r', 'e', 'c', 'e', 'n', 't', '_', 'o',
'b', 's', 'e', 'r', 'v', 'a', 't', 'i', 'o', 'n', 's', '_', 'n', 'o', '_', 'o', 'v',
'e', 'r', 'l', 'a', 'p',
]),
token(&[
'v', 'a', 'l', 'i', 'd', 'a', 't', 'e', '_', 'p', 'a', 's', 't', '_', 'd', 'e', 'f',
'l', 'u', 'e', 'n', 'c', 'e', 's', '_', 'd', 'a', 't', 'e', 's',
]),
token(&[
'v', 'a', 'l', 'i', 'd', 'a', 't', 'e', '_', 'p', 'a', 's', 't', '_', 'd', 'e', 'f',
'l', 'u', 'e', 'n', 'c', 'e', 's', '_', 'n', 'o', '_', 'o', 'v', 'e', 'r', 'l', 'a',
'p',
]),
token(&[
'v', 'a', 'l', 'i', 'd', 'a', 't', 'e', '_', 'w', 'i', 'n', 'd', 'o', 'w', 's', '_',
'n', 'o', '_', 'o', 'v', 'e', 'r', 'l', 'a', 'p',
]),
];
let mut hits = Vec::new();
for validator in &retired_validators {
let pattern = format!(r"\b{validator}\b");
let output = Command::new("grep")
.args(["-rnE", "--include=*.rs", &pattern, "crates/"])
.current_dir(&workspace_root)
.output()
.unwrap_or_else(|e| {
panic!(
"historical_input_no_retired_per_surface_date_window_validators: \
failed to execute grep for {validator}: {e}"
)
});
if output.status.code() != Some(1) {
hits.push(format!(
"{validator}:\n{}",
String::from_utf8_lossy(&output.stdout)
));
}
}
assert!(
hits.is_empty(),
"a retired per-surface date-window validator reappeared:\n{}",
hits.join("\n")
);
}
#[test]
fn historical_input_no_bucket_seed_resolver_module() {
let manifest_dir = env!("CARGO_MANIFEST_DIR");
let workspace_root = Path::new(manifest_dir).join("..").join("..");
let retired_module = token(&['b', 'u', 'c', 'k', 'e', 't', '_', 's', 'e', 'e', 'd']);
let pattern = format!(r"\b{retired_module}\b");
let output = Command::new("grep")
.args([
"-rnE",
"--include=*.rs",
&pattern,
"crates/cobre-sddp/src/setup/",
])
.current_dir(&workspace_root)
.output()
.expect("historical_input_no_bucket_seed_resolver_module: failed to execute grep");
assert_eq!(
output.status.code(),
Some(1),
"the retired defluence-bucket seeding resolver module/symbol reappeared under \
crates/cobre-sddp/src/setup/:\n{}",
String::from_utf8_lossy(&output.stdout)
);
}