Triage unexpected TiDB test diffs that seem unrelated to the current PR. Use when plan/result/testdata changes appear after merge/rebase or only in specific local runs, especially to quickly rule in/out failpoint enablement issues.
Use this workflow when:
In TiDB, many test behaviors rely on failpoint instrumentation. -tags=intest,deadlock does not enable failpoints.
docs/agents/testing-flow.md -> Failpoint decision for unit tests against the affected package.Failpoint-enabled run and add -count=1 to the go test command for reproducibility.If failpoint is not the cause:
-run <TestName> -count=1).Useful commands:
git bisect start
git bisect bad <bad_commit>
git bisect good <good_commit>
Only sync expected plan/result when one of these is true:
Do not record/update testdata before root cause is identified.
Symptom: what diff changed.Scope: single test vs full suite.Failpoint check: commands and result.First bad commit: hash and title (if bisected).Conclusion: setup issue / upstream behavior change / local regression.Action: rerun with failpoint, sync expected, or continue fixing code.