File size: 848 Bytes
751945a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import importlib
import sys
from types import SimpleNamespace


def test_omnivoice_adapter_registers_zero_gpu_decorator(monkeypatch) -> None:
    decorated = {}

    def fake_gpu(fn=None, **kwargs):
        def decorate(inner):
            decorated["name"] = inner.__name__
            decorated["kwargs"] = kwargs
            setattr(inner, "_zero_gpu_wrapped", True)
            return inner

        if fn is not None:
            return decorate(fn)
        return decorate

    monkeypatch.setitem(sys.modules, "spaces", SimpleNamespace(GPU=fake_gpu))
    sys.modules.pop("backend.omnivoice_adapter", None)

    module = importlib.import_module("backend.omnivoice_adapter")

    assert decorated == {"name": "synthesize", "kwargs": {"duration": 300}}
    assert getattr(module.OmniVoiceAdapter.synthesize, "_zero_gpu_wrapped", False) is True