85 lines
1.9 KiB
Markdown
85 lines
1.9 KiB
Markdown
# 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:**
|
|
```bash
|
|
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:**
|
|
```bash
|
|
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 status
|
|
- `prompt` - Show full prompt
|
|
- `perf` - Run performance test
|
|
- `states` - Test different git states
|
|
- `modify` - Create test modifications
|
|
- `clean` - Clean working directory
|
|
- `exit` - Exit interactive mode
|