Files
voculinux/.gitignore
T
Jatin K MalikandGitHub e52c96fc38 test: cover recognition internals and suppress desktop notifications (#414)
* test(recognition): cover _perform_recognition and _enqueue_audio_segment

The previous commit demoted logger.info('DEBUG: ...') to logger.debug(...)
and removed a dead loop body in _perform_recognition. Codecov flagged 12
uncovered lines — all inside _perform_recognition and _enqueue_audio_segment,
which existing tests always mocked out.

Add direct (non-mocked) tests for both methods:

- _enqueue_audio_segment:
  * empty buffer → early return
  * normal buffer → enqueues correctly
  * full queue → drops oldest and retries

- _perform_recognition:
  * processes a segment then exits on None signal
  * drains remaining items on None signal
  * exits cleanly when idle with empty queue
  * continues looping on queue timeout while recording

These tests exercise the actual threading/queue logic and cover the
logger.debug / logger.warning calls as a side effect.

* test(conftest): suppress real desktop notifications during test runs

_show_notification shells out to notify-send, which pops up real system
notifications when tests exercise the model-not-ready path. Add an autouse
fixture that patches _show_notification for all tests EXCEPT those whose
name contains 'show_notification' (so direct tests of the helper still
verify subprocess.Popen calls).

* chore(gitignore): ignore .sisyphus directory
2026-05-02 21:13:21 -07:00

162 lines
2.0 KiB
Plaintext

# Python bytecode files
__pycache__/
*.py[cod]
*$py.class
# Distribution / packaging
dist/
build/
*.egg-info/
*.egg
# Virtual environments
venv/
env/
ENV/
.env
.venv/
activate-vocalinux.sh
# Local development settings
.vscode/
.idea/
*.swp
*.swo
*~
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
coverage.xml
*.cover
.pytest_cache/
.nyc_output
# Downloaded models and data
*.model
/models/
.local/
# Log files
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# OS specific files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
# Installed desktop entries
*-installed.desktop
# Pre-commit
.pre-commit-cache/
# Node.js
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Package manager lock files (keep bun.lock but ignore others if mixed)
# Allow package-lock.json in web directory for GitHub Actions caching
yarn.lock
pnpm-lock.yaml
package-lock.json
!web/package-lock.json
# Build outputs
out/
.next/
.nuxt/
dist/
build/
# Environment variables
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Coverage directory used by tools like istanbul
coverage/
.nyc_output
# ESLint cache
.eslintcache
# Prettier cache
.prettierache
# TypeScript cache
*.tsbuildinfo
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# Dependency directories
jspm_packages/
# Temporary folders
tmp/
temp/
MagicMock/
tmp/
temp/
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.swp
*.swo
*~
# Turbo
.turbo
# Vercel
.vercel
# Storybook build outputs
.out
.storybook-out
# Local Netlify folder
.netlify
.claude-workflow-rules.md
# Analysis documents (keep local)
CROSS_DISTRO_ANALYSIS.md
FIX_PLAN.md
# opentree - local AI worktree orchestration tool (per-developer, not shared)
.opentree/
opentree.toml
# Sisyphus - local AI agent loop state (per-developer, not shared)
.sisyphus/