aboutsummaryrefslogtreecommitdiff
path: root/crates/fparkan-fx/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-fx/src/lib.rs
parent0b23cf48e7aba160b2786d8359e8cfb4ca13da07 (diff)
downloadfparkan-162de8ccabdd3ccf55e1da28532cad6e8345093d.tar.xz
fparkan-162de8ccabdd3ccf55e1da28532cad6e8345093d.zip
fix: require manifests for licensed gates
Diffstat (limited to 'crates/fparkan-fx/src/lib.rs')
-rw-r--r--crates/fparkan-fx/src/lib.rs29
1 files changed, 17 insertions, 12 deletions
diff --git a/crates/fparkan-fx/src/lib.rs b/crates/fparkan-fx/src/lib.rs
index b1b5071..3fa4aae 100644
--- a/crates/fparkan-fx/src/lib.rs
+++ b/crates/fparkan-fx/src/lib.rs
@@ -846,9 +846,7 @@ mod tests {
#[ignore = "requires licensed corpus"]
fn licensed_corpus_fxid_exact_eof_and_distribution() {
for (corpus, expected_count) in [("IS", 923_usize), ("IS2", 1065_usize)] {
- let Some(root) = corpus_root(corpus) else {
- continue;
- };
+ let root = corpus_root(corpus);
let mut count = 0usize;
let mut opcodes = BTreeMap::<FxOpcode, usize>::new();
let mut time_modes = BTreeMap::<u32, usize>::new();
@@ -898,9 +896,7 @@ mod tests {
("IS", 923_usize, 467_usize, 10_553_431_922_547_057_702_u64),
("IS2", 1065_usize, 532_usize, 9_217_284_592_334_143_531_u64),
] {
- let Some(root) = corpus_root(corpus) else {
- continue;
- };
+ let root = corpus_root(corpus);
let mut count = 0usize;
let mut emitting = 0usize;
let mut hash = FNV_OFFSET;
@@ -992,12 +988,21 @@ mod tests {
dst[..len].copy_from_slice(&src[..len]);
}
- 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> {