Offer isolated VoxCPM runtime installation from model setup

This commit is contained in:
Mikei386 committed 2026-10-02 11:55:25 +02:00
1 parent 1f0fc42344
commit aee31359b6
18 files changed
+168 -21

No files matched your search

+13
View File
@@ -51,6 +51,19 @@ class RestoreTests(unittest.TestCase):
doc=open_backup(self.server.backup.export('backup secure password'),'backup secure password')
self.assertNotIn('PRIVATE-CHAT-LOG',json.dumps(doc));self.assertNotIn('model-weights-not-in-backup',json.dumps(doc));self.assertIn('history',doc);validate(doc)
self.assertEqual(doc['models'][0]['id'],ident);self.assertEqual(len(doc['settings']['profiles.json']),1)
def test_voxcpm_runtime_export_and_restore(self):
from voxcpm_runtime import VERSION
runtime=Mock();runtime.status.return_value={'installed':True,'version':VERSION,'job':{'state':'complete'}}
self.server.voxcpm_runtime=runtime
doc=self.server.backup.snapshot();validate(doc)
self.assertTrue(doc['runtimes']['voxcpm']);self.assertEqual(doc['runtime_versions']['voxcpm'],VERSION)
bad=copy.deepcopy(doc);bad['runtimes']['voxcpm']='yes'
with self.assertRaises(ValueError):validate(bad)
runtime.status.return_value={'installed':False,'version':VERSION,'job':{'state':'complete'}}
summary=self.server.backup.inspect(seal(doc,'backup secure password'),'backup secure password')
self.assertFalse(summary['blockers'])
self.server.backup.start(dict(id=summary['id'],services=[],confirm=True,restore_credentials=False));job=self.wait()
self.assertEqual(job['state'],'complete',job);runtime.start.assert_called_once()
def test_separator_restore_installs_runtime_and_redownloads_package(self):
from separator_runtime import MODELS
doc=self.server.backup.snapshot();name=next(iter(MODELS));doc['runtimes']['separator']={'installed':True,'models':[name]}