Record three user-approved voices and trace reused generation environments
This commit is contained in:
@@ -3,6 +3,7 @@ import importlib.util
|
||||
from pathlib import Path
|
||||
import tempfile
|
||||
import unittest
|
||||
from unittest import mock
|
||||
|
||||
import numpy as np
|
||||
import soundfile as sf
|
||||
@@ -134,6 +135,23 @@ class VoiceHistoryTests(unittest.TestCase):
|
||||
self.assertEqual(original, (self.root / first['clips'][0]['file']).read_bytes())
|
||||
self.assertEqual(['count_01', 'guide_collect', 'count_01'], self.calls)
|
||||
|
||||
def test_reuse_environment_records_packages_device_and_original_run_without_model_load(self):
|
||||
first = self.run_generation()
|
||||
entries = voice.reusable_entries(self.root, self.catalog, self.profile)
|
||||
with mock.patch.object(voice.importlib.metadata, 'version', return_value='test-version'), \
|
||||
mock.patch.object(voice.subprocess, 'run', return_value=mock.Mock(stdout='Test GPU\n')):
|
||||
environment = voice.reuse_environment(self.profile, entries, self.root)
|
||||
second = voice.generate(self.catalog, self.profile, self.root, environment=environment)
|
||||
self.assertEqual(['reused', 'reused'], [c['result'] for c in second['clips']])
|
||||
self.assertEqual(['count_01', 'guide_collect'], self.calls)
|
||||
self.assertEqual('not_needed', second['environment']['modelLoad'])
|
||||
self.assertEqual('Test GPU', second['environment']['device'])
|
||||
self.assertEqual('test-version', second['environment']['packages']['qwen-tts'])
|
||||
source = second['environment']['sourceGenerations'][0]
|
||||
self.assertEqual(first['runId'], source['runId'])
|
||||
self.assertEqual(voice.file_hash(self.root / source['manifest']), source['manifestSha256'])
|
||||
self.assertEqual({'test': True}, source['environment'])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user