HyperTerm Tests
Test suite for HyperTerm prompt functionality and performance.
Test Files
test_prompt.sh
Comprehensive test suite with full functionality testing.
Features:
- Individual function testing
- Performance benchmarking
- Git state testing
- Interactive test mode (skipped in CI)
- Non-interactive mode for CI/automation
Usage:
cd tests
bash test_prompt.sh # Interactive mode
bash test_prompt.sh --non-interactive # Non-interactive mode (for CI)
quick_test.sh
Fast validation test for immediate feedback.
Features:
- Quick function validation
- Basic performance check
- Works in current directory or creates temp repo
Usage:
cd tests
bash quick_test.sh
Test Environment
Tests create isolated environments to avoid affecting your working directory:
- Temporary git repositories in
/tmp/ - Various git states (clean, dirty, staged, untracked)
- Automatic cleanup on exit
Performance Testing
Both test scripts include performance measurements:
- Multiple iterations for accurate timing
- Average execution time per prompt call
- Performance classification (Excellent < 10ms, Good < 50ms)
Git States Tested
- Clean repository
- Modified files
- Untracked files
- Staged files
- Mixed states
- Ahead/behind tracking
Requirements
- Git installed and available in PATH
- Bash 4.0 or later
- HyperTerm core files in
../hyperterm/core/
Logging
All tests use structured logging:
[INFO]- General information[SUCCESS]- Successful operations[WARN]- Warnings[ERROR]- Errors
Interactive Mode
The full test suite includes an interactive mode with commands:
status- Show git statusprompt- Show full promptperf- Run performance teststates- Test different git statesmodify- Create test modificationsclean- Clean working directoryexit- Exit interactive mode