include!(concat!(env!("OUT_DIR"), "/grammar_features.rs"));
pub mod annotation_tests;
pub mod backends;
pub mod coverage;
pub mod definitions;
pub mod jit_analysis;
pub mod module_tests;
pub mod parity;
pub mod parity_runner;
pub mod pattern_tests;
pub mod query_tests;
pub mod stream_tests;
pub mod testing_framework_tests;
pub mod type_system_tests;
pub mod window_tests;
#[derive(Debug, Clone)]
pub struct FeatureTest {
pub name: &'static str,
pub covers: &'static [&'static str],
pub code: &'static str,
pub function: &'static str,
pub category: FeatureCategory,
pub requires_data: bool,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum FeatureCategory {
Literal,
Operator,
ControlFlow,
Variable,
Function,
Collection,
Domain,
Exception,
TypeSystem,
Module,
}
pub fn all_feature_tests() -> Vec<&'static FeatureTest> {
let mut all = Vec::new();
all.extend(definitions::FEATURE_TESTS.iter());
all.extend(type_system_tests::TESTS.iter());
all.extend(module_tests::TESTS.iter());
all.extend(pattern_tests::TESTS.iter());
all.extend(query_tests::TESTS.iter());
all.extend(window_tests::TESTS.iter());
all.extend(stream_tests::TESTS.iter());
all.extend(annotation_tests::TESTS.iter());
all.extend(testing_framework_tests::TESTS.iter());
all
}
pub use backends::{BackendExecutor, InterpreterBackend, JITBackend, VMBackend};
pub use coverage::{CoverageReport, analyze_coverage};
pub use definitions::FEATURE_TESTS as MANUAL_FEATURE_TESTS;
pub use jit_analysis::{JitAnalysis, analyze_jit_support};
pub use parity::{ExecutionResult, ParityResult, ParityStatus};
pub use parity_runner::{ParityReport, ParityRunner};