xref: /relibc/ralloc/tests/vec.rs (revision 2cb61efbaa30da912d4f1015c8b2b361005533f0)
1 extern crate ralloc;
2 
3 mod util;
4 
5 #[test]
6 fn simple_vec() {
7     util::multiply(|| {
8         let mut vec = Vec::new();
9 
10         for i in 0..0xFFFF {
11             // We're going to annoy the allocator by allocating a small chunk, after which we push.
12             let _bx = Box::new(4);
13             vec.push(i);
14         }
15 
16         assert_eq!(vec[0xDEAD], 0xDEAD);
17         assert_eq!(vec[0xBEAF], 0xBEAF);
18         assert_eq!(vec[0xABCD], 0xABCD);
19         assert_eq!(vec[0xFFAB], 0xFFAB);
20         assert_eq!(vec[0xAAAA], 0xAAAA);
21 
22         for i in 0xFFF..0 {
23             util::acid(|| {
24                 assert_eq!(vec.pop(), Some(i));
25             });
26         }
27 
28         for i in 0..0xFFF {
29             vec[i] = 0;
30             assert_eq!(vec[i], 0);
31         }
32     });
33 
34 }
35