Formatação (cargo fmt) e ajustes do clippy para o CI da 1.0.0
Release / Cria a release (push) Canceled after 0s
Release / CLI (linux-aarch64) (push) Canceled after 0s
Release / CLI (linux-x86_64) (push) Canceled after 0s
Release / CLI (macos-aarch64) (push) Canceled after 0s
Release / CLI (macos-x86_64) (push) Canceled after 0s
Release / CLI (windows-x86_64) (push) Canceled after 0s
Release / App desktop (linux-x86_64) (push) Canceled after 0s
Release / App desktop (macos-aarch64) (push) Canceled after 0s
Release / App desktop (macos-x86_64) (push) Canceled after 0s
Release / App desktop (windows-x86_64) (push) Canceled after 0s
Release / Publica a release (push) Canceled after 0s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Lucas RayanandClaude Opus 5.5 committed 2026-10-19 11:41:58 -03:00
1 parent 74218e7beb
commit beb83fef92
49 files changed
+3806 -854

No files matched your search

+39 -7
View File
@@ -11,7 +11,11 @@ fn dir() -> PathBuf {
#[test]
fn reads_reference_images_and_stored_hash_matches() {
let mut seen = 0;
for name in ["Base-Linear.aff4", "Base-Allocated.aff4", "Base-Linear-AllHashes.aff4"] {
for name in [
"Base-Linear.aff4",
"Base-Allocated.aff4",
"Base-Linear-AllHashes.aff4",
] {
let p = dir().join(name);
if !p.exists() {
eprintln!("SKIP {name}");
@@ -19,7 +23,11 @@ fn reads_reference_images_and_stored_hash_matches() {
}
let a = Aff4Source::open(&p).unwrap_or_else(|e| panic!("{name}: {e}"));
assert_eq!(a.size(), 268_435_456, "{name}");
assert_eq!(a.verify_stream_md5().unwrap(), Some(true), "{name}: hash do fluxo");
assert_eq!(
a.verify_stream_md5().unwrap(),
Some(true),
"{name}: hash do fluxo"
);
// setor 0 legível pelo caminho genérico
let s = open_path(&p).unwrap();
let head = read_vec(s.as_ref(), 0, 4096).unwrap();
@@ -27,7 +35,12 @@ fn reads_reference_images_and_stored_hash_matches() {
// leitura em vãos do mapa devolve zeros
let far = read_vec(s.as_ref(), 200 << 20, 512).unwrap();
assert_eq!(far.len(), 512);
eprintln!("{name}: {} {:?}", a.info.get("Examinador").cloned().unwrap_or_default(), guara_core::partition::detect_fs_in(&read_vec(s.as_ref(), 0, 4096).unwrap()).map(|x| x.0));
eprintln!(
"{name}: {} {:?}",
a.info.get("Examinador").cloned().unwrap_or_default(),
guara_core::partition::detect_fs_in(&read_vec(s.as_ref(), 0, 4096).unwrap())
.map(|x| x.0)
);
seen += 1;
}
if seen == 0 {
@@ -43,17 +56,36 @@ fn roundtrip_with_snappy_blocks_and_odd_size() {
x ^= x << 13;
x ^= x >> 7;
x ^= x << 17;
if i % 100_000 < 60_000 { 0 } else { (x >> 24) as u8 }
if i % 100_000 < 60_000 {
0
} else {
(x >> 24) as u8
}
})
.collect();
data.truncate(5_000_001);
let dir = tempfile::tempdir().unwrap();
let p = dir.path().join("t.aff4");
let opts = Aff4Options { case_name: "caso".into(), examiner: "Lucas".into(), notes: "teste".into(), ..Default::default() };
let rep = write_aff4(&MemSource(data.clone()), &p, &opts, &|| false, &mut |_, _| {}).unwrap();
let opts = Aff4Options {
case_name: "caso".into(),
examiner: "Lucas".into(),
notes: "teste".into(),
..Default::default()
};
let rep = write_aff4(
&MemSource(data.clone()),
&p,
&opts,
&|| false,
&mut |_, _| {},
)
.unwrap();
let a = Aff4Source::open(&p).unwrap();
assert_eq!(a.size(), data.len() as u64);
assert_eq!(a.info.get("md5").map(String::as_str), Some(rep.md5.as_str()));
assert_eq!(
a.info.get("md5").map(String::as_str),
Some(rep.md5.as_str())
);
assert_eq!(a.info.get("Examinador").map(String::as_str), Some("Lucas"));
assert_eq!(a.verify_stream_md5().unwrap(), Some(true));
let got = read_vec(&a, 0, data.len()).unwrap();