tests/(6,768 tests / 120 suites)CBM 的測試量非常大(6,768 tests / 120 suites)。特別值得注意的是 Hybrid LSP 各語系的覆蓋測試——每個支援的語言都有一大堆「這個模式要解析到那個目標」的斷言測試。
graphify 案例中最大的社群就是這些:test_c_lsp.c(602 節點社群)、test_rust_lsp.c、test_php_lsp.c、test_java_lsp.c、test_ts_lsp.c、test_kotlin_lsp.c、test_py_lsp.c。每個都斷言「某段程式碼的某個呼叫解析到正確目標」。這是「Go to Definition 等級解析」品質的來源。
Cypher 引擎、store、CLI、daemon 各有專屬測試檔。多數函式有 _for_test() 鉤子讓測試注入失敗/延遲(可測試性設計)。
repro/ 放 issue 重現(repro_issue408…);scale_contract.sh 驗證規模行為(大 repo 不退化);smoke_guard.sh 做煙霧守衛。還有 grammar_cases.h 涵蓋各文法邊界案例。
scripts/test.sh # full: clean sanitizer build + all suites + guards
scripts/test.sh --suites <name> # 單一 suite,增量,幾秒
build/c/test-runner --list-suites # 看有哪些 suite
CI gate 也跑 scripts/test.sh——本機過 = CI 過。另有 test_build_dir_safety.sh、test_cpp_index_hang.sh 這類 shell 守衛。
_for_test() 鉤子讓核心可測、repro/ 放 issue 重現、以及 test.sh 與 CI gate 相同。