Handle grep failure in benchmark

This commit is contained in:
thePR0M3TH3AN
2025-05-20 13:32:51 -04:00
parent c59fcc8c5c
commit ef2c77cf6c
5 changed files with 30 additions and 3 deletions

2
bench/dirty-vs-full.sh Executable file → Normal file
View File

@@ -82,7 +82,7 @@ echo "Results written to bench/dirty-vs-full.md"
# slower full-scan is relative to dirty-scan (baseline = 1.00).
SPEEDUP=$(grep '\`full-scan\`' bench/dirty-vs-full.md \
| awk -F'|' '{print $5}' \
| xargs)
| xargs || echo "N/A")
echo
echo "→ Summary:"

View File

@@ -286,6 +286,33 @@ mod event_debouncer_tests {
assert!(flushed.is_empty());
assert_eq!(debouncer.len(), 0);
}
#[test]
fn debouncer_dir_then_file_hierarchical() {
let mut debouncer = EventDebouncer::new(100);
let temp_dir = tempfile::tempdir().expect("create temp dir");
let dir = temp_dir.path().to_path_buf();
let file = dir.join("child.txt");
debouncer.add_event(ProcessedEvent {
path: dir.clone(),
kind: EventKind::Create(CreateKind::Folder),
priority: EventPriority::Create,
timestamp: Instant::now(),
});
debouncer.add_event(ProcessedEvent {
path: file,
kind: EventKind::Create(CreateKind::File),
priority: EventPriority::Create,
timestamp: Instant::now(),
});
assert_eq!(debouncer.len(), 2);
std::thread::sleep(Duration::from_millis(110));
let flushed = debouncer.flush();
assert_eq!(flushed.len(), 2);
assert!(flushed.iter().any(|e| e.path == dir));
}
}

View File

@@ -1 +1 @@
{"rustc_fingerprint":490527502257410439,"outputs":{"17747080675513052775":{"success":true,"status":"","code":0,"stdout":"rustc 1.87.0 (17067e9ac 2025-05-09)\nbinary: rustc\ncommit-hash: 17067e9ac6d7ecb70e50f92c1944e545188d2359\ncommit-date: 2025-05-09\nhost: x86_64-unknown-linux-gnu\nrelease: 1.87.0\nLLVM version: 20.1.1\n","stderr":""},"10431901537437931773":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/home/user/.rustup/toolchains/stable-x86_64-unknown-linux-gnu\noff\npacked\nunpacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\ntarpaulin\nunix\n","stderr":""},"7971740275564407648":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/home/user/.rustup/toolchains/stable-x86_64-unknown-linux-gnu\noff\npacked\nunpacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n","stderr":""}},"successes":{}}
{"rustc_fingerprint":11089871330174914972,"outputs":{"7971740275564407648":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu\noff\npacked\nunpacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n","stderr":""},"17747080675513052775":{"success":true,"status":"","code":0,"stdout":"rustc 1.87.0 (17067e9ac 2025-05-09)\nbinary: rustc\ncommit-hash: 17067e9ac6d7ecb70e50f92c1944e545188d2359\ncommit-date: 2025-05-09\nhost: x86_64-unknown-linux-gnu\nrelease: 1.87.0\nLLVM version: 20.1.1\n","stderr":""}},"successes":{}}

BIN
target/release/marlin Executable file → Normal file

Binary file not shown.

View File

@@ -1 +1 @@
/home/user/Documents/GitHub/Marlin/target/release/marlin: /home/user/Documents/GitHub/Marlin/cli-bin/build.rs /home/user/Documents/GitHub/Marlin/cli-bin/src/cli/annotate.rs /home/user/Documents/GitHub/Marlin/cli-bin/src/cli/coll.rs /home/user/Documents/GitHub/Marlin/cli-bin/src/cli/event.rs /home/user/Documents/GitHub/Marlin/cli-bin/src/cli/link.rs /home/user/Documents/GitHub/Marlin/cli-bin/src/cli/remind.rs /home/user/Documents/GitHub/Marlin/cli-bin/src/cli/state.rs /home/user/Documents/GitHub/Marlin/cli-bin/src/cli/task.rs /home/user/Documents/GitHub/Marlin/cli-bin/src/cli/version.rs /home/user/Documents/GitHub/Marlin/cli-bin/src/cli/view.rs /home/user/Documents/GitHub/Marlin/cli-bin/src/cli/watch.rs /home/user/Documents/GitHub/Marlin/cli-bin/src/cli.rs /home/user/Documents/GitHub/Marlin/cli-bin/src/main.rs /home/user/Documents/GitHub/Marlin/libmarlin/src/backup.rs /home/user/Documents/GitHub/Marlin/libmarlin/src/config.rs /home/user/Documents/GitHub/Marlin/libmarlin/src/db/database.rs /home/user/Documents/GitHub/Marlin/libmarlin/src/db/migrations/0001_initial_schema.sql /home/user/Documents/GitHub/Marlin/libmarlin/src/db/migrations/0002_update_fts_and_triggers.sql /home/user/Documents/GitHub/Marlin/libmarlin/src/db/migrations/0003_create_links_collections_views.sql /home/user/Documents/GitHub/Marlin/libmarlin/src/db/migrations/0004_fix_hierarchical_tags_fts.sql /home/user/Documents/GitHub/Marlin/libmarlin/src/db/migrations/0005_add_dirty_table.sql /home/user/Documents/GitHub/Marlin/libmarlin/src/db/mod.rs /home/user/Documents/GitHub/Marlin/libmarlin/src/error.rs /home/user/Documents/GitHub/Marlin/libmarlin/src/lib.rs /home/user/Documents/GitHub/Marlin/libmarlin/src/logging.rs /home/user/Documents/GitHub/Marlin/libmarlin/src/scan.rs /home/user/Documents/GitHub/Marlin/libmarlin/src/utils.rs /home/user/Documents/GitHub/Marlin/libmarlin/src/watcher.rs
/workspace/Marlin/target/release/marlin: /workspace/Marlin/cli-bin/build.rs /workspace/Marlin/cli-bin/src/cli/annotate.rs /workspace/Marlin/cli-bin/src/cli/coll.rs /workspace/Marlin/cli-bin/src/cli/event.rs /workspace/Marlin/cli-bin/src/cli/link.rs /workspace/Marlin/cli-bin/src/cli/remind.rs /workspace/Marlin/cli-bin/src/cli/state.rs /workspace/Marlin/cli-bin/src/cli/task.rs /workspace/Marlin/cli-bin/src/cli/version.rs /workspace/Marlin/cli-bin/src/cli/view.rs /workspace/Marlin/cli-bin/src/cli/watch.rs /workspace/Marlin/cli-bin/src/cli.rs /workspace/Marlin/cli-bin/src/main.rs /workspace/Marlin/libmarlin/src/backup.rs /workspace/Marlin/libmarlin/src/config.rs /workspace/Marlin/libmarlin/src/db/database.rs /workspace/Marlin/libmarlin/src/db/migrations/0001_initial_schema.sql /workspace/Marlin/libmarlin/src/db/migrations/0002_update_fts_and_triggers.sql /workspace/Marlin/libmarlin/src/db/migrations/0003_create_links_collections_views.sql /workspace/Marlin/libmarlin/src/db/migrations/0004_fix_hierarchical_tags_fts.sql /workspace/Marlin/libmarlin/src/db/migrations/0005_add_dirty_table.sql /workspace/Marlin/libmarlin/src/db/mod.rs /workspace/Marlin/libmarlin/src/error.rs /workspace/Marlin/libmarlin/src/lib.rs /workspace/Marlin/libmarlin/src/logging.rs /workspace/Marlin/libmarlin/src/scan.rs /workspace/Marlin/libmarlin/src/utils.rs /workspace/Marlin/libmarlin/src/watcher.rs