Nothing to see here, move along meow
0

Configure Feed

Select the types of activity you want to include in your feed.

at main 2.7 kB View raw
1use lancer_lancerfs::test_helpers::setup_fs; 2 3#[test] 4fn file_data_survives_remount() { 5 let mut fs = setup_fs(4096); 6 let root = fs.root_block(); 7 let (_inode, block) = fs.create_file(root, b"persist"); 8 let data: Vec<u8> = (0..8192u16).map(|i| (i % 251) as u8).collect(); 9 fs.write_file(block, 0, &data); 10 fs.commit(); 11 12 fs.remount(); 13 14 let file_block = fs.lookup_file(fs.root_block(), b"persist").unwrap(); 15 let read_back = fs.read_file(file_block, 0, 8192); 16 assert_eq!(read_back, data); 17} 18 19#[test] 20fn directory_structure_survives_remount() { 21 let mut fs = setup_fs(4096); 22 let root = fs.root_block(); 23 24 let (_a_inode, a_block) = fs.mkdir(root, b"a"); 25 let (_b_inode, b_block) = fs.mkdir(a_block, b"b"); 26 let (_c_inode, c_block) = fs.mkdir(b_block, b"c"); 27 28 let (_f1, f1_block) = fs.create_file(a_block, b"f1"); 29 fs.write_file(f1_block, 0, b"in_a"); 30 31 let (_f2, f2_block) = fs.create_file(c_block, b"f2"); 32 fs.write_file(f2_block, 0, b"in_c"); 33 34 fs.commit(); 35 fs.remount(); 36 37 let resolved_a = fs.resolve_path(&[b"a"]).unwrap(); 38 let resolved_c = fs.resolve_path(&[b"a", b"b", b"c"]).unwrap(); 39 40 let f1_found = fs.lookup_file(resolved_a, b"f1").unwrap(); 41 assert_eq!(fs.read_file(f1_found, 0, 4), b"in_a"); 42 43 let f2_found = fs.lookup_file(resolved_c, b"f2").unwrap(); 44 assert_eq!(fs.read_file(f2_found, 0, 4), b"in_c"); 45} 46 47#[test] 48fn multiple_commits_then_remount() { 49 let mut fs = setup_fs(4096); 50 let root = fs.root_block(); 51 52 let (_inode, block) = fs.create_file(root, b"evolving"); 53 fs.write_file(block, 0, b"version_one"); 54 fs.commit(); 55 56 fs.write_file(block, 0, b"version_two_longer"); 57 fs.commit(); 58 59 fs.remount(); 60 61 let file_block = fs.lookup_file(fs.root_block(), b"evolving").unwrap(); 62 let read_back = fs.read_file(file_block, 0, 64); 63 assert_eq!(&read_back[..18], b"version_two_longer"); 64} 65 66#[test] 67fn inline_data_survives_remount() { 68 let mut fs = setup_fs(4096); 69 let root = fs.root_block(); 70 let (_inode, block) = fs.create_file(root, b"tiny"); 71 fs.write_file(block, 0, b"small_payload"); 72 fs.commit(); 73 74 fs.remount(); 75 76 let file_block = fs.lookup_file(fs.root_block(), b"tiny").unwrap(); 77 let read_back = fs.read_file(file_block, 0, 64); 78 assert_eq!(&read_back[..13], b"small_payload"); 79} 80 81#[test] 82fn snapshot_survives_remount() { 83 let mut fs = setup_fs(4096); 84 let root = fs.root_block(); 85 let (_inode, block) = fs.create_file(root, b"snapfile"); 86 fs.write_file(block, 0, b"snap_data"); 87 fs.commit(); 88 89 fs.create_snapshot(b"snap1"); 90 91 fs.remount(); 92 93 let snap = fs.snapshot_lookup(b"snap1"); 94 assert!(snap.is_some()); 95}