Skip to content

test/coverage: authoritative full-suite run 3 — 68.0% line / 50.2% branch - #95

Closed
gburd wants to merge 1 commit into
masterfrom
agent/cov3
Closed

test/coverage: authoritative full-suite run 3 — 68.0% line / 50.2% branch#95
gburd wants to merge 1 commit into
masterfrom
agent/cov3

Conversation

@gburd

@gburd gburd commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Authoritative full-suite coverage run 3

Fresh, authoritative code-coverage measurement on a dedicated AWS EC2
c7i.24xlarge (96 vCPU, AL2023), master @ v5.3.32 (27f8e7b6c), then the
instance was terminated. Measurement/report only — no engine code changed.

ONE instrumented build (gcc 11.5, -O0 -g --coverage), .gcda accumulated
across the full parallel Tcl suite AND every COV_* block, merged in a
single lcov --capture --directory .libs.

Headline (src/-only, dbinc_auto excluded, branch coverage on)

metric run 3 interim (run 2) authoritative (v5.3.30-era)
line 68.0% (49192/72377) 62.3% 48.0%
branch 50.2% (39238/78236) 46.2% 36.1%
function 80.5% (2129/2644) 72.3%

+20.0 pts line / +14.1 pts branch vs the authoritative baseline;
+5.7 / +4.0 vs the interim. Wall time ~89 min.

What ran

  • Full access-method matrix (btree/hash/recno/queue/heap, ~135 tests each, +verify/salvage)
  • All subsystem groups (env/lock/log/memp/mutex/txn/sdb/sec/compact/partition/...)
  • Replication: 22 rep + 15 repmgr = 37 PASS (hangers rep016/034, repmgr024/026 skipped)
  • recd group + 26 curated recd recovery-handler tests
  • COV_* blocks: curated subset (crypto sec001/002, statprint, mvcc, lock007, test143),
    deadlock+DB_REGISTER drivers, and the C drivers (backup, os_aio, recd_compact PASS)

Honest caveats (see FULL-COVERAGE-REPORT-3.md)

  1. xa=0% in this capture. liburing-devel was missing at build time, so
    xa_direct failed to link (-luring). After installing it the XA driver
    re-ran and PASSED, but the EC2 instance was reclaimed (went to
    shutting-down on its own) before the re-capture could be pulled back — so
    the verifiable headline is 68.0% with xa=0%; with XA counted it's ~68.3%.
    Next round: dnf install liburing-devel up front.
  2. db_upgrade PARTIAL — real paths ran; the driver's synthetic hash-fixture
    aborts on a spares-array bug (run_upgrade.sh, not the engine).
  3. os_aio io_uring backend coldio_uring_queue_init returned ENOSYS on
    the host (kernel io_uring disabled). Other AIO backends covered.

Contents

  • test/coverage/full_run3_combined.sh — the combined driver
  • test/coverage/FULL-COVERAGE-REPORT-3.md — report + per-subsystem + top cold files + path-to-80%
  • test/coverage/full-run-3/ — cov-src.info, ranking, subsystems, summary
  • test/coverage/baseline.txt — ratcheted 62.3/46.2 → 68.0/50.2

…nch)

Fresh full-suite + all COV_* blocks on a dedicated c7i.24xlarge (96 vCPU,
AL2023), master @ v5.3.32 (27f8e7b), gcc 11.5 -O0 --coverage, ONE build
with .gcda accumulated across the parallel Tcl suite AND every COV_* block,
merged in a single lcov capture from .libs.

Headline (src/-only, dbinc_auto excluded, branch coverage on):
  line     68.0% (49192/72377)   +20.0 vs authoritative 48.0, +5.7 vs interim 62.3
  branch   50.2% (39238/78236)   +14.1 vs authoritative 36.1, +4.0 vs interim 46.2
  function 80.5% (2129/2644)

Adds test/coverage/full_run3_combined.sh (the combined driver),
FULL-COVERAGE-REPORT-3.md (report + honest path-to-80%), full-run-3/
(cov-src.info, ranking, subsystems, summary), and ratchets baseline.txt
62.3/46.2 -> 68.0/50.2.

Caveats documented in the report: xa=0% in this capture (liburing-devel
missing at build; XA driver re-ran PASS but instance was reclaimed before
the re-capture was retrieved -> ~+0.3 pt pending); db_upgrade partial
(synthetic hash-fixture bug); os_aio io_uring backend cold (ENOSYS on host).

Measurement only -- no engine code touched.
@gburd

gburd commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator Author

Superseded: the coverage report + baseline ratchet (68.0/50.2) were merged via #94, and the uniquely-valuable full_run3_combined.sh + cov-subsystems.txt are merged via #96. The remaining diff in this branch is stale duplicate content (db_join/db_method from #92, recd_handlers from #93, fi_sweep from #90 — all already on master). Thanks — the run itself produced the authoritative number.

@gburd gburd closed this Jul 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant