Add a test

This commit is contained in:
Ben Kimock 2022-10-14 20:04:27 -04:00
parent 79cd6f38f3
commit 26186d7ff2
2 changed files with 34 additions and 0 deletions

View file

@ -0,0 +1,29 @@
use std::{
alloc::{self, Layout},
mem::ManuallyDrop,
};
extern "Rust" {
fn miri_get_alloc_id(ptr: *const u8) -> u64;
fn miri_print_stacks(alloc_id: u64);
}
fn main() {
let ptr = unsafe { alloc::alloc(Layout::new::<u8>()) };
let alloc_id = unsafe { miri_get_alloc_id(ptr) };
unsafe { miri_print_stacks(alloc_id) };
assert!(!ptr.is_null());
unsafe { miri_print_stacks(alloc_id) };
unsafe { *ptr = 42 };
unsafe { miri_print_stacks(alloc_id) };
let _b = unsafe { ManuallyDrop::new(Box::from_raw(ptr)) };
unsafe { miri_print_stacks(alloc_id) };
let _ptr = unsafe { &*ptr };
unsafe { miri_print_stacks(alloc_id) };
unsafe { alloc::dealloc(ptr, Layout::new::<u8>()) };
}

View file

@ -0,0 +1,5 @@
0..1: [ SharedReadWrite<2794> ]
0..1: [ SharedReadWrite<2794> ]
0..1: [ SharedReadWrite<2794> ]
0..1: [ SharedReadWrite<2794> Unique<2822> Unique<2823> Unique<2824> Unique<2828> Unique<2830> ]
0..1: [ SharedReadWrite<2794> Disabled<2822> Disabled<2823> Disabled<2824> Disabled<2828> Disabled<2830> SharedReadOnly<2832> ]