bootloader/btrfs/tests/read_superblock.rs
2023-03-23 22:30:30 +01:00

50 lines
1.1 KiB
Rust

#![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::<BufReader<std::fs::File>>::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);
}