Clean up test infrastructure by removing problematic tests that create
circular dependencies and execute the test suite from within tests.
Key removals:
- Delete test_issue_57_test_efficiency_improvements.py entirely (12 tests)
- Contained tests that ran `make test-tdd`, `make test-status` etc.
- Created circular dependencies where tests execute the entire test suite
- Violated separation of concerns between testing and test infrastructure
- Remove self-execution blocks from 11 test files
- Eliminated `if __name__ == '__main__': pytest.main([__file__, '-v'])` patterns
- Prevents confusion and potential circular execution paths
- Test files should be run via pytest, not as standalone scripts
Test Infrastructure Improvements:
- Reduced test count from 701 to 689 tests (removed 12 problematic tests)
- Eliminated subprocess calls to `make test-*` commands from within tests
- Removed `pytest.main()` calls that could cause circular execution
- Maintained clean separation between test infrastructure and actual tests
Impact:
- No more tests testing tests (circular dependency elimination)
- Cleaner test execution without subprocess complexity
- Proper test isolation and independence
- Faster and more reliable test runs
The proper way to test infrastructure is to test the underlying functions
directly, not to execute the entire test suite from within a test.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Implemented comprehensive CLI naming consistency by standardizing all subsystem
commands to use *-stats for status reporting:
## Changes Made:
### 1. Removed Unnecessary Skipped Tests
- Removed two deferred tests for global option path display from Issue #39
- Tests were marked as requiring "complex CLI changes" and deemed not worth effort
- Cleaner test suite without placeholder functionality
### 2. Renamed cache-info → cache-stats
- Updated CLI command: @cli.command('cache-stats')
- Updated function name: cache_info() → cache_stats()
- Updated all test files to use cache-stats
- Consistent with subsystem naming convention
### 3. Renamed db-status → db-stats
- Updated CLI command: @cli.command('db-stats')
- Updated function name: db_status() → db_stats()
- Updated all test files and references to use db-stats
- Maintains database subsystem consistency
### 4. Implemented config-stats Command
- New CLI command following *-stats convention
- Displays configuration statistics and status information
- Supports all output formats: table, json, yaml, simple
- Integrates with existing config system when available
- Provides fallback functionality for basic configuration reporting
## Established Convention:
All CLI subsystems now have consistent *-stats commands:
- ✅ ast-stats (already existed)
- ✅ cache-stats (renamed from cache-info)
- ✅ db-stats (renamed from db-status)
- ✅ config-stats (newly implemented)
## Benefits:
- Intuitive command discovery (users know to try *-stats for any subsystem)
- Consistent CLI experience across all subsystems
- Better organized help documentation
- Professional CLI interface following standard conventions
All tests updated and passing. CLI maintains backward compatibility for
essential functionality while establishing clear, consistent patterns.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>