Files
hyperterm/tests/README.md
Astound aad97d949a
Some checks failed
git-sync-with-mirror / git-sync (push) Failing after 5s
CI Pipeline / shasums (push) Successful in 17s
CI Pipeline / build (push) Successful in 51s
CI Pipeline / tests (push) Successful in 31s
CI Pipeline / performance (push) Successful in 8s
Optimized git
2025-11-03 16:27:38 -05:00

1.9 KiB

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 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