// SPDX-License-Identifier: GPL-3.0-or-later use molotov_core::symbols::{SymbolCategory, SymbolTriage}; #[test] fn test_symbol_triage_categorization() { let mut triage = SymbolTriage::new(); triage.register("AAssetManager_open", SymbolCategory::Cordial); triage.register("malloc", SymbolCategory::Host); triage.register("unsupported_telemetry_stub", SymbolCategory::Stub); assert_eq!(triage.lookup("AAssetManager_open"), Some(SymbolCategory::Cordial)); assert_eq!(triage.lookup("malloc"), Some(SymbolCategory::Host)); assert_eq!(triage.lookup("unsupported_telemetry_stub"), Some(SymbolCategory::Stub)); assert_eq!(triage.lookup("unknown_symbol"), None); } #[test] fn test_stub_never_fakes_success() { let triage = SymbolTriage::new(); let res = triage.resolve_stub("fake_func"); assert!(res.is_err(), "Stub must return an explicit error, never fake success"); }