WorksButNotTested db1d38eeb6
LibAFL_QEMU/librasan: Add support for reading environment (#3241)
* Add support for reading environment

* Fix clippy

* Review fixes
2025-05-20 21:48:08 +02:00

47 lines
1.1 KiB
Rust

#[cfg(test)]
#[cfg(feature = "hooks")]
mod tests {
use core::{ptr::null_mut, slice::from_raw_parts_mut};
use asan::{expect_panic, hooks::memalign::memalign};
#[test]
fn memalign_zero_size() {
let ret = unsafe { memalign(8, 0) };
assert_eq!(ret, null_mut());
}
#[test]
fn memalign_size_not_multiple() {
expect_panic();
unsafe { memalign(9, 8) };
unreachable!();
}
#[test]
fn memalign_power_of_two() {
let addr = unsafe { memalign(8, 8) };
assert_ne!(addr, std::ptr::null_mut());
assert_eq!(addr as usize & 7, 0);
}
#[test]
fn memalign_not_power_of_two() {
expect_panic();
unsafe { memalign(7, 24) };
unreachable!();
}
#[test]
fn memalign_buff() {
let ret = unsafe { memalign(32, 8) };
assert_ne!(ret, null_mut());
assert!(ret as usize & 0x1f == 0);
unsafe {
from_raw_parts_mut(ret as *mut u8, 8)
.iter_mut()
.for_each(|x| *x = 0)
};
}
}