mirror of
https://github.com/DeusData/codebase-memory-mcp.git
synced 2026-11-06 08:35:21 +08:00
Function/Method nodes only got is_test=true via a Rust #[test] attribute check; the per-file test-file flag (cbm_is_test_file) was set on the Module node but never propagated to the definitions inside it, so e.g. a C function in tests/helpers/fixtures.c stayed is_test=false — invisible to store.c's is_test!=1 filters — even though trace_path's own independent path check already treated the file as a test. Propagate is_test_file into extract_func_def and push_method_def, and teach cbm_is_test_file the same tests/ (and test/, spec/, __tests__/) directory convention cbm_is_test_path already uses, so a non-test_-named file anywhere under tests/ is caught too. Separately, trace_call_path's own include_tests filter (mcp.c is_test_file) matched a nested ".../tests/..." path but not a project-root-relative one, so tests/repro/foo.c leaked into results with the default include_tests=false; add the missing tests/ (and test/, spec/, __tests__/) prefix check. Closes #1294. Signed-off-by: Yyunozor <yyunozor@icloud.com>