#![cfg(feature = "std")] use std::{ io::{BufReader, Read, Seek}, mem::size_of, }; use test_log::test; use btrfs::{structs::*, tree::Tree, Volume}; #[test] fn superblock() { let mut file = std::fs::File::open("btrfs.img").expect("btrfs image"); let reader = BufReader::new(file); let volume = Volume::new(reader).expect("volume"); let sb = volume.superblock(); println!("{sb:#?}"); assert!(sb.verify_magic()); assert!(sb.verify_checksum()); } #[test] fn iter_sys_chunks() { let mut file = std::fs::File::open("btrfs.img").expect("btrfs image"); let reader = BufReader::new(file); let volume = Volume::new(reader).expect("volume"); let sb = volume.superblock(); let result = Volume::>::bootstrap_chunk_tree(&sb); println!("{result:#?}"); } #[test] fn iter_root() { let mut file = std::fs::File::open("btrfs.img").expect("btrfs image"); let reader = BufReader::new(file); let mut volume = Volume::new(reader).expect("volume"); let sb = volume.superblock(); volume.iter_roots(); println!("{:#?}", volume.chunk_cache); }