summaryrefslogtreecommitdiff
path: root/tests/model_validation.rs
diff options
context:
space:
mode:
authorHermes Agent <hermes@localhost>2026-08-12 06:22:06 +0000
committerHermes Agent <hermes@localhost>2026-08-12 06:22:06 +0000
commit80686835f4d6ef1a42a97ffcfbc48746861a129c (patch)
tree04b8e8e56112565f002d621e984dc54f70ae57d2 /tests/model_validation.rs
parente29bef683eb8408f959729987785e996381604ed (diff)
Expand typed Controller package set
Diffstat (limited to 'tests/model_validation.rs')
-rw-r--r--tests/model_validation.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/model_validation.rs b/tests/model_validation.rs
index 5134a6f..f94a656 100644
--- a/tests/model_validation.rs
+++ b/tests/model_validation.rs
@@ -42,6 +42,27 @@ fn parses_a_typed_image_spec() {
}
#[test]
+fn controller_spec_preserves_the_vendored_controller_package_set() {
+ let spec = ImageSpec::load(std::path::Path::new("profiles/alt-controller.toml"))
+ .expect("controller spec parses");
+
+ assert_eq!(spec.packages.base.len(), 96);
+ for package in [
+ "make-initrd-multipath",
+ "firmware-intel-ucode",
+ "openssh-server-control",
+ "systemd-analyze",
+ "libiec61850",
+ "rsyslog",
+ ] {
+ assert!(
+ spec.packages.base.iter().any(|candidate| candidate == package),
+ "controller package set must contain {package}"
+ );
+ }
+}
+
+#[test]
fn compiles_a_validated_spec_into_an_immutable_build_plan() {
let spec = load(VALID_SPEC).expect("valid spec");
let plan = BuildPlan::compile(spec).expect("plan compiles");