17 lines
677 B
Rust
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");
|
|
}
|