test: add edge case tests for clock_pack_loader (#12)#14
Merged
Conversation
Add 9 new tests covering uncovered lines in clock_pack_loader: - discover_packs with non-existent directory - discover_packs skipping non-directory items - discover_packs handling ClockPackError from invalid packs - discover_packs handling generic exceptions (PermissionError) - load_pack with invalid JSON manifest - load_pack with missing version field - validate_pack with unsupported audio format - get_pack returning None for missing pack - refresh clearing cache and re-discovering packs Closes #12
Orinks
added a commit
that referenced
this pull request
Feb 5, 2026
…quiet hours (#16) * fix: remove obsolete accessibletalkingclock directory breaking pytest Removes the old accessibletalkingclock/ directory that was left over from the project rename. This duplicate tests/ folder caused pytest ImportPathMismatchError during collection. Also fixes an unused variable in scripts/generate_sounds.py. Fixes #6 * test: improve audio module test coverage to 80%+ (#10) Bring audio module coverage from 65% to 96%: - player.py: 66% → 94% - tts_engine.py: 63% → 97% Added comprehensive tests for: - BASS audio init/cleanup with sound_lib - Fallback playback via playsound3 - Volume control during active playback - Stream lifecycle (create, stop, free) - pyttsx3 engine init, speech, and error handling - Voice enumeration and selection - Rate property with engine sync - Time formatting edge cases (midnight, noon, quarter-to) - Error handling and graceful degradation All external audio dependencies (sound_lib, playsound3, pyttsx3) are mocked. Closes #8 * fix: remove non-existent BASS_Free import from sound_lib (#11) BASS_Free doesn't exist in sound_lib. The cleanup method now just resets the initialization flag instead of calling a non-existent function. Updated tests accordingly. * test: add clock_pack_loader edge case tests (closes #12) (#13) Cover all error paths and edge cases in clock_pack_loader: - discover_packs with nonexistent directory - discover_packs skipping non-directory items - discover_packs handling ClockPackError and generic exceptions - load_pack with invalid JSON manifest - load_pack with missing required fields - validate_pack with unsupported audio formats - get_pack returning None for missing IDs - refresh clearing cache and re-discovering Coverage: 82% → 99% * test: add edge case tests for clock_pack_loader (#12) (#14) Add 9 new tests covering uncovered lines in clock_pack_loader: - discover_packs with non-existent directory - discover_packs skipping non-directory items - discover_packs handling ClockPackError from invalid packs - discover_packs handling generic exceptions (PermissionError) - load_pack with invalid JSON manifest - load_pack with missing version field - validate_pack with unsupported audio format - get_pack returning None for missing pack - refresh clearing cache and re-discovering packs Closes #12 * test(clock-service): add edge case tests for quarter-hour chimes and quiet hours Cover previously uncovered lines in clock_service.py: - Quarter-hour chimes when hourly/half-hour disabled (lines 71, 74) - Same-day quiet hours range (line 126) - Overnight quiet hours boundaries (line 122) Coverage improved from 91% to 98%. Closes #15 * test: add reset_chime_tracking test for 100% coverage (#17) Closes #15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add 9 new tests covering uncovered lines in clock_pack_loader:
Closes #12