mirror of
https://github.com/jmcorgan/fips.git
synced 2026-08-09 08:14:42 +00:00
Merge branch 'master'
Reconciles the tick profiler with this line's extra tick step. `next` drives `resend_pending_fmp_rekey_msg3` from the tick arm and the master line does not, so the step table gains a variant here and the arm gains one more instrumented call. The pinned row-count test is what caught it: it failed on the merge rather than letting the emitted table and the call sites drift apart silently, which is the failure mode it was written for.
This commit is contained in:
@@ -535,6 +535,30 @@ run_build() {
|
||||
return 1
|
||||
fi
|
||||
|
||||
# An optional feature means two source trees, and --all-features lints only
|
||||
# one of them. The default build is what ships, so lint it explicitly:
|
||||
# without this stage, code that compiles only with `profiling` enabled would
|
||||
# pass CI while breaking every release build.
|
||||
info "cargo clippy --all-targets -- -D warnings (default features)"
|
||||
if cargo clippy --all-targets -- -D warnings 2>&1; then
|
||||
record "clippy-default-features" 0
|
||||
else
|
||||
record "clippy-default-features" 1
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Tick-body profiler: the feature-on tree must build too. Added alongside
|
||||
# the default-feature stages rather than replacing them. Mirrored in
|
||||
# .github/workflows/ci.yml — check-ci-parity.sh compares integration suites
|
||||
# only and will not catch a stage added to one runner and not the other.
|
||||
info "cargo build --workspace --features profiling"
|
||||
if cargo build --workspace --features profiling 2>&1; then
|
||||
record "build-profiling" 0
|
||||
else
|
||||
record "build-profiling" 1
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Guard: the effectively-immutable state lives solely in NodeContext. The
|
||||
# Node struct must not re-declare a bundled field (config/identity/
|
||||
# startup_epoch/started_at/is_leaf_only/node_profile/max_*) — a shadow field
|
||||
@@ -574,6 +598,17 @@ run_tests() {
|
||||
record "unit-tests" 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# The `profiling` feature adds a module, a recorder and a writer thread that
|
||||
# the default-feature run above never compiles. Run the library tests once
|
||||
# more with it on so its own tests execute at all. Mirrored in
|
||||
# .github/workflows/ci.yml.
|
||||
info "cargo test --lib --features profiling"
|
||||
if cargo test --lib --features profiling 2>&1; then
|
||||
record "unit-tests-profiling" 0
|
||||
else
|
||||
record "unit-tests-profiling" 1
|
||||
fi
|
||||
}
|
||||
|
||||
# ── Stage 3: Integration Tests ─────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user