Skip to content

test: pre-existing failures in the full heavy suite (lancedb ignore assert 2>2 + 3 test-pollution) #427

Description

@HumanBean17

Context

Running the full suite with JAVA_CODEBASE_RAG_RUN_HEAVY=1 surfaces 4 failures that are pre-existing — not regressions from PR #424 (jrag watch). Verified: PR #424 doesn't touch path_filtering / index/ / cocoindex / mcp_hints / mcp_v2, and the 3 pollution failures (below) pass in isolation and persist with --ignore=tests/watch.

1. test_lancedb_ignore_file_reduces_indexed_java_files — real failure

  • tests/integration/test_lancedb_e2e.pyassert 2 > 2.
  • A .java-codebase-rag/ignore file is expected to reduce the count of indexed Java files in the cocoindex Lance flow, but with-ignore and without-ignore both index 2 files.
  • Fails in isolation. Lives in unmodified code (path_filtering.LayeredIgnore / the cocoindex flow).

2. Three test-pollution failures — pass in isolation, fail in the full suite

  • tests/jrag/test_read_payloads.py::test_golden_output_byte_identical[callees_client_fold]
  • tests/jrag/test_read_payloads.py::test_golden_output_byte_identical[search]
  • tests/mcp/test_mcp_hints.py::test_structured_hint_describe_type_rollup_clients
  • All PASS in isolation; fail in the full suite due to test-ordering / disk-state pollution (e.g., a stale tests/*/.java-codebase-rag index hijacking project-root discovery — the rm -rf ritual mitigates it pre-run but not mid-suite).

3. Suite exit code is unreliable (related, pre-existing)

The full heavy suite exits with a lance/pyarrow SIGSEGV (exit 139) at Python interpreter teardown — the os._exit discipline in cli/jrag exists specifically to avoid this in normal operation. The pytest summary still prints before the crash, so gating on the process exit code is wrong — read the summary line from the log.

Repro

JAVA_CODEBASE_RAG_RUN_HEAVY=1 .venv/bin/python -m pytest -v -p no:cacheprovider 2>&1 | grep FAILED

Note

None of these block PR #424 (CI runs the non-heavy suite, which is green for the changed code: tests/watch 116, tests/jrag 15, config 65, docs 9). They're filed so the full heavy suite can be made CI-able.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions