aboutsummaryrefslogtreecommitdiff
path: root/app/tests/test_hub.py
diff options
context:
space:
mode:
authorhistoria <historiavg@proton.me>2026-08-24 16:18:38 -0400
committerhistoria <historiavg@proton.me>2026-08-24 16:18:38 -0400
commit919544c0931d53bb81904b6212ff14f856549da3 (patch)
treeaef7161db4cdb43bbd572fdc6c2fa2539726f4ee /app/tests/test_hub.py
parent1ff9a635bd9b033b631a6b525891b7eb44e189d3 (diff)
downloadtts-audiobook-generator-919544c0931d53bb81904b6212ff14f856549da3.tar.gz
feat: option to unload models from audio.cpp per-run
Diffstat (limited to 'app/tests/test_hub.py')
-rw-r--r--app/tests/test_hub.py26
1 files changed, 19 insertions, 7 deletions
diff --git a/app/tests/test_hub.py b/app/tests/test_hub.py
index 725f4f6..a0545cc 100644
--- a/app/tests/test_hub.py
+++ b/app/tests/test_hub.py
@@ -1083,7 +1083,8 @@ class SettingsTests(unittest.TestCase):
original = {name: getattr(hub.config, name) for name in
("AUDIO_FORMAT", "AUDIO_BITRATE", "LANGUAGE",
- "CHUNK_SIZE", "QWEN_API_URL", "CLONE_API_URL",
+ "CHUNK_SIZE", "AUDIOCPP_UNLOAD_MODELS",
+ "QWEN_API_URL", "CLONE_API_URL",
"FASTER_API_URL", "AUDIOCPP_API_URL",
"QWEN_REMOTE_URL", "CLONE_REMOTE_URL",
"FASTER_REMOTE_URL", "AUDIOCPP_REMOTE_URL")}
@@ -1091,6 +1092,7 @@ class SettingsTests(unittest.TestCase):
for name, value in original.items()])
values = {"audio_format": "ogg", "audio_bitrate": " 192k ",
"language": "en", "chunk_size": "300",
+ "unload_models": True,
"qwen_custom_port": "7862", "qwen_clone_port": "7863",
"faster_port": "8001", "audiocpp_port": "8081",
"audiocpp_remote_url": "10.0.0.5:8080",
@@ -1106,6 +1108,7 @@ class SettingsTests(unittest.TestCase):
"AUDIO_BITRATE": "192k",
"LANGUAGE": "English",
"CHUNK_SIZE": 300,
+ "AUDIOCPP_UNLOAD_MODELS": True,
"QWEN_API_URL": "http://127.0.0.1:7862",
"CLONE_API_URL": "http://127.0.0.1:7863",
"FASTER_API_URL": "http://127.0.0.1:8001",
@@ -1122,6 +1125,7 @@ class SettingsTests(unittest.TestCase):
self.assertEqual(hub.config.AUDIO_BITRATE, "192k")
self.assertEqual(hub.config.LANGUAGE, "English")
self.assertEqual(hub.config.CHUNK_SIZE, 300)
+ self.assertEqual(hub.config.AUDIOCPP_UNLOAD_MODELS, True)
self.assertEqual(hub.config.QWEN_API_URL, "http://127.0.0.1:7862")
self.assertEqual(hub.config.FASTER_API_URL, "http://127.0.0.1:8001")
self.assertEqual(hub.config.AUDIOCPP_REMOTE_URL,
@@ -1130,7 +1134,8 @@ class SettingsTests(unittest.TestCase):
def test_apply_settings_rejects_bad_values(self):
original = {name: getattr(hub.config, name) for name in
("AUDIO_FORMAT", "AUDIO_BITRATE", "LANGUAGE",
- "CHUNK_SIZE", "QWEN_API_URL", "CLONE_API_URL",
+ "CHUNK_SIZE", "AUDIOCPP_UNLOAD_MODELS",
+ "QWEN_API_URL", "CLONE_API_URL",
"FASTER_API_URL", "AUDIOCPP_API_URL",
"QWEN_REMOTE_URL", "CLONE_REMOTE_URL",
"FASTER_REMOTE_URL", "AUDIOCPP_REMOTE_URL")}
@@ -1138,6 +1143,7 @@ class SettingsTests(unittest.TestCase):
for name, value in original.items()])
base = {"audio_format": "m4b", "audio_bitrate": "128k",
"language": "English", "chunk_size": "250",
+ "unload_models": True,
"qwen_custom_port": "7860", "qwen_clone_port": "7861",
"faster_port": "8000", "audiocpp_port": "8080"}
with patch.object(hub, "_write_config") as mk_write:
@@ -1175,6 +1181,7 @@ class SettingsTests(unittest.TestCase):
captured["fields"] = fields
return {"audio_format": "ogg", "audio_bitrate": "192k",
"language": "English", "chunk_size": "300",
+ "unload_models": True,
"qwen_custom_port": "7860", "qwen_clone_port": "7861",
"faster_port": "8000", "audiocpp_port": "8080"}
@@ -1192,14 +1199,16 @@ class SettingsTests(unittest.TestCase):
hub._settings_menu(None)
self.assertEqual([f["key"] for f in captured["fields"]],
["audio_format", "audio_bitrate", "language",
- "chunk_size", "audiocpp_port", "faster_port",
- "qwen_custom_port", "qwen_clone_port",
- "audiocpp_remote_url", "faster_remote_url",
- "qwen_custom_remote_url", "qwen_clone_remote_url"])
+ "chunk_size", "unload_models", "audiocpp_port",
+ "faster_port", "qwen_custom_port",
+ "qwen_clone_port", "audiocpp_remote_url",
+ "faster_remote_url", "qwen_custom_remote_url",
+ "qwen_clone_remote_url"])
kinds = {f["key"]: f["kind"] for f in captured["fields"]}
self.assertEqual(kinds["audio_format"], "choice")
self.assertEqual(kinds["audio_bitrate"], "text")
self.assertEqual(kinds["audiocpp_port"], "text")
+ self.assertEqual(kinds["unload_models"], "bool")
self.assertEqual(kinds["audiocpp_remote_url"], "text")
labels = {f["key"]: f["label"] for f in captured["fields"]}
self.assertEqual(labels["qwen_clone_port"], "qwen-tts Base port")
@@ -1217,6 +1226,7 @@ class SettingsTests(unittest.TestCase):
"audio_bitrate": "192k",
"language": "English",
"chunk_size": "300",
+ "unload_models": True,
"qwen_custom_port": "7860",
"qwen_clone_port": "7861",
"faster_port": "8000",
@@ -1248,7 +1258,8 @@ class SettingsTests(unittest.TestCase):
original = {name: getattr(hub.config, name) for name in
("AUDIO_FORMAT", "AUDIO_BITRATE", "LANGUAGE",
- "CHUNK_SIZE", "QWEN_API_URL", "CLONE_API_URL",
+ "CHUNK_SIZE", "AUDIOCPP_UNLOAD_MODELS",
+ "QWEN_API_URL", "CLONE_API_URL",
"FASTER_API_URL", "AUDIOCPP_API_URL",
"QWEN_REMOTE_URL", "CLONE_REMOTE_URL",
"FASTER_REMOTE_URL", "AUDIOCPP_REMOTE_URL")}
@@ -1264,6 +1275,7 @@ class SettingsTests(unittest.TestCase):
'LANGUAGE = "English"\n'
"\n"
"CHUNK_SIZE = 250\n"
+ "AUDIOCPP_UNLOAD_MODELS = True\n"
'QWEN_API_URL = "http://127.0.0.1:7860"\n'
'CLONE_API_URL = "http://127.0.0.1:7861"\n'
'FASTER_API_URL = "http://127.0.0.1:8000"\n'