Files
papers/lux-distributed-systems-testing/sections/09-our-testing-stack-by-the-numbers.tex
zeekay abf99d05fc papers: reorganize into per-paper dirs, add Antje Worring as co-author
Restructured from flat .tex/.pdf files into per-paper subdirectories.
Added Antje Worring as co-author on all papers.
Synced PDFs to pdfs/ for download site.
2026-04-18 21:50:07 -07:00

30 lines
1.2 KiB
TeX

\section{Our Testing Stack: By the Numbers}
\begin{table}[H]
\centering
\small
\begin{tabular}{@{}lrrrl@{}}
\toprule
\textbf{Layer} & \textbf{Count} & \textbf{CI Time} & \textbf{Frequency} & \textbf{Tool} \\
\midrule
Go unit tests & 12,847 & 4m & Every commit & \texttt{go test} \\
Go fuzz corpus & 2,341 entries & 2m (replay) & Every commit & \texttt{go test -fuzz} \\
Foundry contract tests & 832 & 3m & Every commit & \texttt{forge test} \\
Halmos symbolic & 9 proofs & 8m & Every PR & \texttt{halmos} \\
Playwright E2E & 342 & 12m & Every PR & \texttt{playwright test} \\
Fault injection & 47 scenarios & 45m & Nightly & Custom framework \\
TLA+ model check & 2 protocols & 38m & On protocol change & TLC \\
Lean~4 proofs & 384 theorems & 6m & On model change & \texttt{lake build} \\
\bottomrule
\end{tabular}
\caption{Lux Network's complete testing stack.}
\end{table}
Total CI time for a full run: approximately 2 hours. Unit tests and contract tests run
on every commit (7 minutes). Symbolic tests and E2E tests run on every PR (20 minutes).
Fault injection runs nightly (45 minutes). Model checking and formal proofs run only
when the relevant code changes.
%% ============================================================