crates/nornir-build-thing/tests/lfs_pointers.rs
//! ★ Holger D13 d7584718 (2026-10-20), shared (lane G10): **a medium refuses Git LFS
//! pointers.** test3.holger.rs served holger.webp as a 131-byte pointer ("version
//! https://git-lfs.github.com/spec/v1 … size 578646"): the media checkout never ran
//! `git lfs pull`, and `include_bytes!` compiled the pointer text in as the picture. Only
//! Holger's xtask had the check; here every product's compose has it.
use nornir_build_thing::lfs::{lfs_pointers, refuse_lfs_pointers, NEVER_PACKED};
#[test]
fn a_git_lfs_pointer_in_what_a_medium_packs_is_named() {
let t = tempfile::tempdir().unwrap();
let (product, ui) = (t.path().join("holger"), t.path().join("holger-ui"));
let pointer = b"version https://git-lfs.github.com/spec/v1\noid sha256:a8bcf252d5\nsize 578646\n";
for (dir, name, bytes) in [
(&product, "holger-front/assets/holger.webp", &pointer[..]),
(&product, "holger-front/assets/real.png", &b"\x89PNG\r\n\x1a\n...."[..]),
(&product, "target/release/build/x/pointer.webp", &pointer[..]),
(&product, "docs/manual.pdf", &pointer[..]),
(&product, "vendor/skip-me/x.bin", &pointer[..]),
(&ui, "assets/logo.png", &pointer[..]),
] {
let p = dir.join(name);
std::fs::create_dir_all(p.parent().unwrap()).unwrap();
std::fs::write(p, bytes).unwrap();
}
assert!(NEVER_PACKED.contains(&"target") && NEVER_PACKED.contains(&"docs"));
let roots = [product.clone(), ui.clone()];
let mut found = lfs_pointers(&roots, &["vendor"]);
found.sort();
assert_eq!(found, vec![product.join("holger-front/assets/holger.webp"), ui.join("assets/logo.png")]);
let e = refuse_lfs_pointers(&roots, &["vendor"]).unwrap_err().to_string();
assert!(e.contains("[medium-lfs-pointer]") && e.contains("holger.webp") && e.contains("logo.png") && e.contains("git lfs pull"), "{e}");
assert_eq!(lfs_pointers(&roots, &[]).len(), 3, "a skip list is the caller's, NEVER_PACKED is always skipped");
std::fs::write(product.join("holger-front/assets/holger.webp"), b"RIFF....WEBPVP8L").unwrap();
std::fs::write(ui.join("assets/logo.png"), b"\x89PNG").unwrap();
refuse_lfs_pointers(&roots, &["vendor"]).expect("real content passes");
// A root that does not exist is nothing to pack.
assert!(lfs_pointers(&[t.path().join("absent")], &[]).is_empty());
}