use alt_controller_image::{BuildPlan, ImageSpec, Stage}; const SPEC: &str = r#" [target] name = "alt-controller" architecture = "x86_64" format = "tar" [kernel] flavour = "rt" [boot] initrd_features = ["rootfs"] initrd_modules = ["ext4"] [packages] base = ["basesystem"] selectors = ["^kernel-image-rt$"] "#; #[test] fn stage_graph_orders_artifact_producers_before_consumers() { let spec: ImageSpec = toml::from_str(SPEC).expect("spec parses"); let plan = BuildPlan::compile(spec).expect("plan compiles"); assert_eq!( plan.stages(), [ Stage::Resolve, Stage::Install, Stage::FinalizeRootfs, Stage::BuildInitramfs, Stage::Package, Stage::Manifest, ] ); assert_eq!(plan.dependencies(Stage::Package), &[Stage::FinalizeRootfs, Stage::BuildInitramfs]); assert_eq!(plan.dependencies(Stage::BuildInitramfs), &[Stage::Install]); assert_eq!(plan.dependencies(Stage::Manifest), &[Stage::Package]); }