xref: /relibc/ralloc/tests/vec_box.rs (revision cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9)
1 extern crate ralloc;
2 
3 mod util;
4 
5 #[test]
6 fn vec_box() {
7     util::multiply(|| {
8         let mut vec = Vec::new();
9 
10         for i in 0..0xFFF {
11             util::acid(|| {
12                 vec.push(Box::new(i));
13             });
14         }
15 
16         assert_eq!(*vec[0xEAD], 0xEAD);
17         assert_eq!(*vec[0xEAF], 0xEAF);
18         assert_eq!(*vec[0xBCD], 0xBCD);
19         assert_eq!(*vec[0xFAB], 0xFAB);
20         assert_eq!(*vec[0xAAA], 0xAAA);
21 
22         for i in 0xFFF..0 {
23             assert_eq!(*vec.pop().unwrap(), i);
24         }
25 
26         for i in 0..0xFFF {
27             *vec[i] = 0;
28             assert_eq!(*vec[i], 0);
29         }
30     });
31 }
32