50 lines
1.1 KiB
Rust
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);
|
|
}
|