aboutsummaryrefslogtreecommitdiff
path: root/crates/fparkan-terrain-format/src/lib.rs
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-06-22 16:29:33 +0300
committerValentin Popov <valentin@popov.link>2026-06-22 16:29:33 +0300
commit162de8ccabdd3ccf55e1da28532cad6e8345093d (patch)
treed7f33966ddb1dd4fe9e82caea62bc99aeb269535 /crates/fparkan-terrain-format/src/lib.rs
parent0b23cf48e7aba160b2786d8359e8cfb4ca13da07 (diff)
downloadfparkan-162de8ccabdd3ccf55e1da28532cad6e8345093d.tar.xz
fparkan-162de8ccabdd3ccf55e1da28532cad6e8345093d.zip
fix: require manifests for licensed gates
Diffstat (limited to 'crates/fparkan-terrain-format/src/lib.rs')
-rw-r--r--crates/fparkan-terrain-format/src/lib.rs33
1 files changed, 18 insertions, 15 deletions
diff --git a/crates/fparkan-terrain-format/src/lib.rs b/crates/fparkan-terrain-format/src/lib.rs
index 8fd17ef..a8bc30d 100644
--- a/crates/fparkan-terrain-format/src/lib.rs
+++ b/crates/fparkan-terrain-format/src/lib.rs
@@ -1494,9 +1494,7 @@ Generator 1
("IS", 33_usize, 299_450_usize, 275_882_usize),
("IS2", 32_usize, 188_024_usize, 184_454_usize),
] {
- let Some(root) = corpus_root(corpus) else {
- continue;
- };
+ let root = corpus_root(corpus);
let mut files = 0usize;
let mut vertices = 0usize;
let mut faces = 0usize;
@@ -1540,9 +1538,7 @@ Generator 1
#[ignore = "requires licensed corpus"]
fn licensed_corpus_build_dat_validate() {
for (corpus, expected_ai_prefix) in [("IS", false), ("IS2", true)] {
- let Some(root) = corpus_root(corpus) else {
- continue;
- };
+ let root = corpus_root(corpus);
let path = root.join("BuildDat.lst");
let bytes = std::fs::read(&path).expect("read BuildDat.lst");
let categories =
@@ -1591,9 +1587,7 @@ Generator 1
("IS", 33_usize, 34_662_usize, 197_698_usize, 20_usize),
("IS2", 32_usize, 18_984_usize, 114_968_usize, 14_usize),
] {
- let Some(root) = corpus_root(corpus) else {
- continue;
- };
+ let root = corpus_root(corpus);
let mut files = 0usize;
let mut areals = 0usize;
let mut vertices = 0usize;
@@ -1883,12 +1877,21 @@ Generator 1
out.extend_from_slice(&value.to_le_bytes());
}
- fn corpus_root(name: &str) -> Option<PathBuf> {
- let root = Path::new(env!("CARGO_MANIFEST_DIR"))
- .join("../..")
- .join("testdata")
- .join(name);
- root.is_dir().then_some(root)
+ fn corpus_root(name: &str) -> PathBuf {
+ let variable = match name {
+ "IS" => "FPARKAN_CORPUS_PART1_ROOT",
+ "IS2" => "FPARKAN_CORPUS_PART2_ROOT",
+ _ => panic!("unknown licensed corpus part: {name}"),
+ };
+ let root = std::env::var_os(variable)
+ .map(PathBuf::from)
+ .unwrap_or_else(|| panic!("{variable} is required for licensed corpus tests"));
+ assert!(
+ root.is_dir(),
+ "licensed corpus root is missing: {}",
+ root.display()
+ );
+ root
}
fn files_under(root: &Path) -> Vec<PathBuf> {