Moving tests into their own module in each file
This is a common pattern and it limits the scope of entities made only
for testing purposes.
Signed-off-by: Imre Kis <imre.kis@arm.com>
Change-Id: I4338a5f68471377b87653240fbb0debf3d80e924
diff --git a/src/page_pool.rs b/src/page_pool.rs
index 66f22c7..cc50b30 100644
--- a/src/page_pool.rs
+++ b/src/page_pool.rs
@@ -196,45 +196,50 @@
}
}
-#[test]
-fn test_pages() {
- let area = [0x5au8; 4096];
- let mut pages = Pages::new(area.as_ptr() as usize, area.len(), true);
+#[cfg(test)]
+mod tests {
+ use super::*;
- assert_eq!(area.as_ptr() as usize, pages.pa);
- assert_eq!(area.len(), pages.length);
- assert!(pages.used);
- assert_eq!(area.as_ptr() as usize, pages.get_pa());
- assert_eq!(area.as_ptr() as usize, pages.base());
- assert_eq!(area.len(), pages.length());
- assert!(pages.used());
+ #[test]
+ fn test_pages() {
+ let area = [0x5au8; 4096];
+ let mut pages = Pages::new(area.as_ptr() as usize, area.len(), true);
- pages.copy_data_to_page(&[0, 1, 2, 3, 4, 5, 6, 7]);
- assert_eq!([0, 1, 2, 3, 4, 5, 6, 7], area[0..8]);
+ assert_eq!(area.as_ptr() as usize, pages.pa);
+ assert_eq!(area.len(), pages.length);
+ assert!(pages.used);
+ assert_eq!(area.as_ptr() as usize, pages.get_pa());
+ assert_eq!(area.as_ptr() as usize, pages.base());
+ assert_eq!(area.len(), pages.length());
+ assert!(pages.used());
- pages.zero_init();
- assert_eq!([0, 0, 0, 0, 0, 0, 0, 0], area[0..8]);
+ pages.copy_data_to_page(&[0, 1, 2, 3, 4, 5, 6, 7]);
+ assert_eq!([0, 1, 2, 3, 4, 5, 6, 7], area[0..8]);
- let s = unsafe { pages.get_as_slice() };
- for (i, e) in s.iter_mut().enumerate().take(8) {
- *e = i as u8;
+ pages.zero_init();
+ assert_eq!([0, 0, 0, 0, 0, 0, 0, 0], area[0..8]);
+
+ let s = unsafe { pages.get_as_slice() };
+ for (i, e) in s.iter_mut().enumerate().take(8) {
+ *e = i as u8;
+ }
+ assert_eq!([0, 1, 2, 3, 4, 5, 6, 7], area[0..8]);
+
+ let from_slice = unsafe { Pages::from_slice(s) };
+ assert_eq!(area.as_ptr() as usize, from_slice.pa);
+ assert_eq!(area.len(), from_slice.length);
+ assert!(from_slice.used);
}
- assert_eq!([0, 1, 2, 3, 4, 5, 6, 7], area[0..8]);
- let from_slice = unsafe { Pages::from_slice(s) };
- assert_eq!(area.as_ptr() as usize, from_slice.pa);
- assert_eq!(area.len(), from_slice.length);
- assert!(from_slice.used);
-}
+ #[test]
+ fn test_pages_contains() {
+ let pages = Pages::new(0x4000_0000, 0x4000, true);
-#[test]
-fn test_pages_contains() {
- let pages = Pages::new(0x4000_0000, 0x4000, true);
+ assert!(!pages.contains(0x3fff_f000, 0x1000));
+ assert!(!pages.contains(0x3fff_f000, 0x1_0000));
+ assert!(!pages.contains(0x4000_4000, 0x1000));
+ assert!(!pages.contains(0x4000_0000, 0x1_0000));
- assert!(!pages.contains(0x3fff_f000, 0x1000));
- assert!(!pages.contains(0x3fff_f000, 0x1_0000));
- assert!(!pages.contains(0x4000_4000, 0x1000));
- assert!(!pages.contains(0x4000_0000, 0x1_0000));
-
- // Overflow tests
+ // Overflow tests
+ }
}