commit f22d9a92590bc4302b207c0217cf1274a2944b3d
parent a5e42ad84ac18e9003e9f75e41bb09793886a7f8
Author: triesap <tyson@radroots.org>
Date: Thu, 20 Aug 2026 18:06:26 +0000
test: make service target drift structural
- parse the canonical hardened service fixture before mutation
- alter the governed target inventory through typed TOML values
- remove dependence on formatter-specific multiline layout
- preserve the exact fail-closed resolver assertion
Diffstat:
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/crates/runtime_distribution/src/lib.rs b/crates/runtime_distribution/src/lib.rs
@@ -786,14 +786,16 @@ tier_1_targets = ["x86_64-unknown-linux-gnu", "aarch64-unknown-linux-gnu"]
#[test]
fn hardened_service_contract_rejects_schema_drift_unknown_fields_and_inventory_drift() {
+ let mut target_drift: Value =
+ toml::from_str(HARDENED_SERVICE_CONTRACT).expect("contract fixture value");
+ target_drift["service_targets"]["myc"]["tier_1_targets"][1] =
+ Value::String("aarch64-apple-darwin".to_owned());
+
for raw in [
HARDENED_SERVICE_CONTRACT.replace("schema_version = 1", "schema_version = 2"),
format!("{HARDENED_SERVICE_CONTRACT}\nunknown = true\n"),
HARDENED_SERVICE_CONTRACT.replace("service_id = \"rhi\"", "service_id = \"other\""),
- HARDENED_SERVICE_CONTRACT.replace(
- " \"aarch64-unknown-linux-gnu\",\n]",
- " \"aarch64-apple-darwin\",\n]",
- ),
+ toml::to_string(&target_drift).expect("target-drift contract"),
] {
assert!(RadrootsRuntimeDistributionResolver::parse_str(&raw).is_err());
}