Problem
OpenAnt currently has no automated test suite. Changes to parsers, the LLM client, or the Go CLI wrapper can introduce regressions that are only caught by running full end-to-end scans manually.
Proposal
Add a pytest test suite and GitHub Actions CI workflow covering:
Tests (60 total)
- Token tracker: pricing calculations, cumulative tracking, reset, summaries
- Language detection: Python/JS/mixed repos, correctly ignores venv/node_modules
- Python parser phases: scanner, function extractor, call graph builder, unit generator — each tested individually against a small fixture repo
- JavaScript parser: scanner, TypeScript analyzer, unit generator, full pipeline via parser_adapter
- Go CLI wrapper: version/help commands, parse (Python + JS repos), API key validation — invoking the real compiled binary
CI workflow
- Runs on Linux, macOS, and Windows
- Two jobs: Python/parser tests + Go build/vet/integration tests
- Triggers on push to master and on pull requests
Fixtures
Small sample repos (Python + JavaScript) included as test fixtures — no external dependencies needed.
Known Windows issues discovered
- ts-morph fails to resolve files with backslash paths (marked as xfail)
- Unicode checkmarks (✓/✗) in
parsers/javascript/test_pipeline.py crash on Windows cp1252 encoding (marked as xfail)
PR
See: #15
Problem
OpenAnt currently has no automated test suite. Changes to parsers, the LLM client, or the Go CLI wrapper can introduce regressions that are only caught by running full end-to-end scans manually.
Proposal
Add a pytest test suite and GitHub Actions CI workflow covering:
Tests (60 total)
CI workflow
Fixtures
Small sample repos (Python + JavaScript) included as test fixtures — no external dependencies needed.
Known Windows issues discovered
parsers/javascript/test_pipeline.pycrash on Windows cp1252 encoding (marked as xfail)PR
See: #15