use std::path::PathBuf;
pub fn fixtures_dir() -> PathBuf {
PathBuf::from(env!("CARGO_MANIFEST_DIR"))
.join("tests")
.join("fixtures")
}
pub fn fixture_path(filename: &str) -> PathBuf {
fixtures_dir().join(filename)
}
pub fn fixture_exists(filename: &str) -> bool {
fixture_path(filename).exists()
}
#[macro_export]
macro_rules! require_fixture {
($fixture:expr) => {
if !$crate::common::fixture_exists($fixture) {
eprintln!(
"Skipping test: fixture '{}' not found. See tests/fixtures/README.md",
$fixture
);
return;
}
};
}
pub fn create_invalid_onnx_bytes() -> Vec<u8> {
vec![0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA]
}
pub fn create_empty_bytes() -> Vec<u8> {
Vec::new()
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_fixtures_dir_exists() {
let dir = fixtures_dir();
assert!(dir.to_string_lossy().contains("fixtures"));
}
#[test]
fn test_invalid_onnx_bytes_not_empty() {
let bytes = create_invalid_onnx_bytes();
assert!(!bytes.is_empty());
}
#[test]
fn test_empty_bytes_is_empty() {
let bytes = create_empty_bytes();
assert!(bytes.is_empty());
}
}