TTS: include mp3 files in cache stats
TTSService._put_cache writes .mp3 for MP3 audio (ID3/MPEG-framed bytes) and
.wav otherwise, and the rest of the class treats both as cache entries
(_get_cache iterates (".mp3", ".wav"); eviction globs "*.*"). But
get_stats() enumerated the cache with `glob("*.wav")` only, so both
cache_entries and cache_size_mb undercounted — reporting 0 whenever the
cache held MP3 files, which is the common case for most TTS providers.
Glob both extensions so the reported stats match what's actually cached.
tests/test_tts_cache_stats.py writes an MP3-headed blob via _put_cache and
asserts get_stats() reports one entry with non-zero size. Fails before this
change.
This commit is contained in:
12
tests/test_tts_cache_stats.py
Normal file
12
tests/test_tts_cache_stats.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from services.tts.tts_service import TTSService
|
||||
|
||||
|
||||
def test_tts_cache_stats_counts_mp3(tmp_path):
|
||||
service = TTSService(cache_dir=str(tmp_path))
|
||||
|
||||
# Put an MP3-headed blob (starts with b'ID3') into cache, with size > 1MB so cache_size_mb > 0
|
||||
service._put_cache("k", b"ID3" + b"x" * (1024 * 1024))
|
||||
|
||||
stats = service.get_stats()
|
||||
assert stats["cache_entries"] == 1
|
||||
assert stats["cache_size_mb"] > 0
|
||||
Reference in New Issue
Block a user