Sort newest Hub models and run image encoder on second GPU

This commit is contained in:
Mikei386
2026-09-28 18:27:23 +02:00
parent fd797a6c8d
commit a0941c0549
15 changed files with 159 additions and 35 deletions
+9 -2
View File
@@ -3,18 +3,25 @@ from pathlib import Path
import tempfile
import unittest
from unittest.mock import patch,Mock
from image_test import ImageTests,workflow
from image_test import ImageTests,workflow,select_gpus
class ImageTestTests(unittest.TestCase):
def test_workflow_uses_selected_profile_and_owned_aliases(self):
p=dict(width=512,height=768,steps=12,guidance=1.5)
graph=workflow('benign test',p,99)
self.assertEqual(graph['1']['inputs']['unet_name'],'model.gguf')
self.assertEqual(graph['2']['inputs']['device'],'cpu')
self.assertEqual(graph['2']['class_type'],'DeckTextEncoderLoader')
self.assertEqual(graph['6']['inputs']['seed'],99)
self.assertEqual(graph['6']['inputs']['steps'],12)
self.assertEqual(graph['6']['inputs']['cfg'],1.5)
self.assertEqual(graph['5']['inputs']['height'],768)
def test_two_gpu_selection_rejects_busy_or_small_encoder_gpu(self):
devices=[dict(name='NVIDIA GeForce RTX 3060',uuid='encoder',processes=0,free_mib=11962),dict(name='NVIDIA GeForce RTX 5080',uuid='image',processes=0,free_mib=15923)]
image,encoder=select_gpus(devices,7*1024**3,9*1024**3,700*1024**2)
self.assertEqual((image['uuid'],encoder['uuid']),('image','encoder'))
for change in (dict(processes=1),dict(free_mib=7000)):
with self.assertRaises(ValueError):select_gpus([dict(devices[0],**change),devices[1]],7*1024**3,9*1024**3,700*1024**2)
with self.assertRaises(ValueError):select_gpus([devices[0],dict(devices[1],processes=1)],7*1024**3,9*1024**3,700*1024**2)
def test_missing_runtime_and_invalid_prompts_do_not_spawn(self):
with tempfile.TemporaryDirectory() as d,patch('image_test.PYTHON',Path(d)/'missing'),patch('image_test.subprocess.Popen') as spawn:
manager=ImageTests(d,Mock())