Conversation
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
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
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.
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%
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
…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
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.
Summary
Added 4 new tests for
clock_service.pyedge cases to improve coverage from 91% to 98%.Changes
Coverage
Closes #15