| name | regression-test |
| description | Run regression tests for voxtype releases. Use before major releases to verify core functionality, CLI commands, and configuration handling. |
| user-invocable | true |
| allowed-tools | ["Bash","Read","Glob","Grep"] |
Regression Test
Comprehensive testing checklist for voxtype releases.
Note: For detailed manual smoke tests (recording cycles, GPU isolation, output drivers, etc.), see docs/SMOKE_TESTS.md. Run those tests for thorough pre-release validation.
Quick Smoke Test
cargo build --release
./target/release/voxtype --version
./target/release/voxtype --help
./target/release/voxtype setup --help
Unit Tests
cargo test
Key test modules:
text:: - Spoken punctuation and replacements
cli:: - Command-line argument parsing
state:: - State machine transitions
CLI Command Tests
Setup Commands
./target/release/voxtype setup --list-models
./target/release/voxtype setup --show-config
./target/release/voxtype setup gpu --status
Status Commands
timeout 2 ./target/release/voxtype status || echo "Daemon not running (expected)"
timeout 2 ./target/release/voxtype status --format json || echo "Daemon not running (expected)"
Transcription Test
./target/release/voxtype transcribe test.wav
Configuration Tests
Default Config Loading
rm -f ~/.config/voxtype/config.toml
./target/release/voxtype --help
mkdir -p ~/.config/voxtype
cp config/default.toml ~/.config/voxtype/config.toml
./target/release/voxtype setup --show-config
Config Backwards Compatibility
Test that old config files still work:
cat > /tmp/test-config.toml << 'EOF'
[hotkey]
key = "SCROLLLOCK"
[whisper]
model = "base.en"
EOF
./target/release/voxtype --config /tmp/test-config.toml --help
Binary Variant Tests
For each binary variant, verify:
VERSION=0.4.14
releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-avx2 --version
releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-avx2 --help
releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-avx512 --version
releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-avx512 --help
releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-vulkan --version
releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-vulkan --help
Integration Tests
Daemon Lifecycle
./target/release/voxtype &
DAEMON_PID=$!
sleep 2
./target/release/voxtype status
kill $DAEMON_PID
Signal Handling
./target/release/voxtype &
DAEMON_PID=$!
sleep 1
kill -USR1 $DAEMON_PID
kill -TERM $DAEMON_PID
Package Tests
Debian Package
dpkg-deb --info releases/${VERSION}/voxtype_${VERSION}-1_amd64.deb
dpkg-deb --contents releases/${VERSION}/voxtype_${VERSION}-1_amd64.deb
dpkg-deb --contents releases/${VERSION}/voxtype_${VERSION}-1_amd64.deb | grep -E 'voxtype-avx2|voxtype-avx512|config.toml|voxtype.service'
RPM Package
rpm -qp --info releases/${VERSION}/voxtype-${VERSION}-1.x86_64.rpm
rpm -qp --list releases/${VERSION}/voxtype-${VERSION}-1.x86_64.rpm
Checklist for Major Releases
Known Test Limitations
- Audio capture requires real audio hardware (can't fully test in CI)
- evdev hotkey detection requires
/dev/input access
- Transcription requires downloaded Whisper model
- GPU acceleration requires Vulkan-capable hardware