|
import unittest |
|
import pytest |
|
from typing import NamedTuple, Optional |
|
|
|
from .template import ( |
|
sd_version, |
|
StableDiffusionVersion, |
|
is_full_coverage, |
|
APITestTemplate, |
|
living_room_img, |
|
general_negative_prompt, |
|
) |
|
|
|
base_prompt = "A modern living room" |
|
|
|
general_depth_modules = [ |
|
"depth", |
|
"depth_leres", |
|
"depth_leres++", |
|
"depth_anything", |
|
] |
|
hand_refiner_module = "depth_hand_refiner" |
|
|
|
general_depth_models = [ |
|
"control_sd15_depth_anything [48a4bc3a]", |
|
"control_v11f1p_sd15_depth [cfd03158]", |
|
"t2iadapter_depth_sd15v2 [3489cd37]", |
|
] |
|
hand_refiner_model = "control_sd15_inpaint_depth_hand_fp16 [09456e54]" |
|
|
|
|
|
class TestDepthFullCoverage(unittest.TestCase): |
|
def setUp(self): |
|
if not is_full_coverage: |
|
pytest.skip() |
|
|
|
if sd_version == StableDiffusionVersion.SDXL: |
|
pytest.skip() |
|
|
|
def test_depth(self): |
|
for module in general_depth_modules: |
|
for model in general_depth_models: |
|
name = f"depth_txt2img_{module}_{model}" |
|
with self.subTest(name=name): |
|
self.assertTrue( |
|
APITestTemplate( |
|
name, |
|
"txt2img", |
|
payload_overrides={ |
|
"prompt": base_prompt, |
|
"negative_prompt": general_negative_prompt, |
|
"steps": 20, |
|
"width": 768, |
|
"height": 512, |
|
}, |
|
unit_overrides={ |
|
"module": module, |
|
"model": model, |
|
"image": living_room_img, |
|
}, |
|
).exec(result_only=False) |
|
) |
|
|
|
|
|
if __name__ == "__main__": |
|
unittest.main() |
|
|