fabro/lib/crates/fabro-dev/Cargo.toml
Bryan Helmkamp be9d9284be
feat(dev): add bench-tests command for capturing per-test timing CSV
Runs the workspace test suite N times via `cargo nextest run --no-fail-fast`
and appends one row per testcase to a CSV (git_sha, run_index, started_at,
binary, package, classname, test_name, status, duration_ms). Group ≈ package
is derived from the JUnit testsuite name.

The lenient `[profile.bench]` (with junit.path) is synthesized at runtime to
target/bench-tests/nextest-tool.toml and passed via `--tool-config-file`, so
nothing needs to be added to .config/nextest.toml.

Intended use: collect samples on the current checkout, switch SHAs, collect
again, then diff/aggregate externally to hunt slowdowns.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 09:18:00 -07:00

32 lines
639 B
TOML

[package]
name = "fabro-dev"
edition.workspace = true
version.workspace = true
publish = false
license.workspace = true
description = "Internal development tooling for Fabro"
[[bin]]
name = "fabro-dev"
path = "src/main.rs"
[lints]
workspace = true
[dependencies]
anyhow.workspace = true
chrono.workspace = true
clap.workspace = true
csv = "1"
fabro-cli = { path = "../fabro-cli" }
fabro-config = { path = "../fabro-config" }
fabro-options-metadata.workspace = true
quick-xml = "0.36"
shlex = "1"
toml_edit.workspace = true
tracing-subscriber.workspace = true
walkdir.workspace = true
[dev-dependencies]
assert_cmd = "2"
tempfile = "3"