This repository has been archived on 2026-10-10. You can view files and clone it, but cannot push or open issues or pull requests.
molotov/crates/molotov-core/tests/trampoline_test.rs

17 lines
677 B
Rust

// SPDX-License-Identifier: GPL-3.0-or-later
use molotov_core::trampoline::resolve_symbol_address;
#[test]
fn test_resolve_standard_host_symbol() {
let addr = resolve_symbol_address("malloc", None).expect("malloc should resolve to host glibc");
assert_ne!(addr, 0);
}
#[test]
fn test_unimplemented_stub_returns_failing_function() {
let stub_fn = resolve_symbol_address("unimplemented_android_telemetry", None)
.expect("Should resolve to a failing stub trampoline");
let func: extern "C" fn() -> i32 = unsafe { std::mem::transmute(stub_fn) };
let ret = func();
assert_eq!(ret, -38, "Stub must return -ENOSYS (-38), never fake 0 or success");
}