Skip to content

Commit 26186d7

Browse files
committed
Add a test
1 parent 79cd6f3 commit 26186d7

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
use std::{
2+
alloc::{self, Layout},
3+
mem::ManuallyDrop,
4+
};
5+
6+
extern "Rust" {
7+
fn miri_get_alloc_id(ptr: *const u8) -> u64;
8+
fn miri_print_stacks(alloc_id: u64);
9+
}
10+
11+
fn main() {
12+
let ptr = unsafe { alloc::alloc(Layout::new::<u8>()) };
13+
let alloc_id = unsafe { miri_get_alloc_id(ptr) };
14+
unsafe { miri_print_stacks(alloc_id) };
15+
16+
assert!(!ptr.is_null());
17+
unsafe { miri_print_stacks(alloc_id) };
18+
19+
unsafe { *ptr = 42 };
20+
unsafe { miri_print_stacks(alloc_id) };
21+
22+
let _b = unsafe { ManuallyDrop::new(Box::from_raw(ptr)) };
23+
unsafe { miri_print_stacks(alloc_id) };
24+
25+
let _ptr = unsafe { &*ptr };
26+
unsafe { miri_print_stacks(alloc_id) };
27+
28+
unsafe { alloc::dealloc(ptr, Layout::new::<u8>()) };
29+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
0..1: [ SharedReadWrite<2794> ]
2+
0..1: [ SharedReadWrite<2794> ]
3+
0..1: [ SharedReadWrite<2794> ]
4+
0..1: [ SharedReadWrite<2794> Unique<2822> Unique<2823> Unique<2824> Unique<2828> Unique<2830> ]
5+
0..1: [ SharedReadWrite<2794> Disabled<2822> Disabled<2823> Disabled<2824> Disabled<2828> Disabled<2830> SharedReadOnly<2832> ]

0 commit comments

Comments
 (0)