summaryrefslogtreecommitdiff
path: root/tests
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
parente29bef683eb8408f959729987785e996381604ed (diff)
Expand typed Controller package set
Diffstat (limited to 'tests')
-rw-r--r--tests/model_validation.rs21
-rw-r--r--tests/package_installer.rs4
2 files changed, 24 insertions, 1 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");
diff --git a/tests/package_installer.rs b/tests/package_installer.rs
index b322aa9..e527f14 100644
--- a/tests/package_installer.rs
+++ b/tests/package_installer.rs
@@ -84,7 +84,9 @@ fn build_plan_compiles_its_typed_package_request() {
assert_eq!(request.workdir(), std::path::Path::new("work/alt-controller"));
assert_eq!(request.apt_config().as_path(), std::path::Path::new("profiles/apt.conf"));
- assert_eq!(request.packages()[0], "apt");
+ assert_eq!(request.packages()[0], "anacron");
+ assert!(request.packages().contains(&"apt".to_owned()));
assert!(request.packages().contains(&"libiec61850".to_owned()));
+ assert!(request.packages().contains(&"make-initrd-multipath".to_owned()));
assert_eq!(request.selectors(), ["^kernel-(image|modules-())-(rt)$"]);
}