test: improve stubs for unit tests
This commit is contained in:
@@ -1,6 +1,21 @@
|
||||
import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
os.environ.setdefault('UNIT_TEST', 'True')
|
||||
|
||||
# Ensure optional test stubs are loaded
|
||||
repo_root = Path(__file__).resolve().parents[1]
|
||||
sys.path.insert(0, str(repo_root))
|
||||
try:
|
||||
import sitecustomize # noqa: F401
|
||||
except Exception:
|
||||
pass
|
||||
finally:
|
||||
if sys.path[0] == str(repo_root):
|
||||
sys.path.pop(0)
|
||||
sys.path.append(str(repo_root))
|
||||
|
||||
import sys
|
||||
import types
|
||||
import importlib.util
|
||||
@@ -18,3 +33,25 @@ if importlib.util.find_spec('PIL') is None:
|
||||
pil_stub = types.ModuleType('PIL')
|
||||
pil_stub.Image = types.SimpleNamespace(open=lambda *a, **k: None)
|
||||
sys.modules['PIL'] = pil_stub
|
||||
|
||||
# Provide folder_paths stub if module unavailable
|
||||
if 'folder_paths' not in sys.modules:
|
||||
fp_stub = types.SimpleNamespace(
|
||||
get_filename_list=lambda *a, **k: [],
|
||||
get_input_directory=lambda: '',
|
||||
get_output_directory=lambda: '',
|
||||
get_temp_directory=lambda: ''
|
||||
)
|
||||
sys.modules['folder_paths'] = fp_stub
|
||||
|
||||
# Minimal torchaudio stub to satisfy imports
|
||||
if importlib.util.find_spec('torchaudio') is None:
|
||||
ta_stub = types.ModuleType('torchaudio')
|
||||
def _load(*a, **k):
|
||||
raise NotImplementedError('torchaudio.load stub')
|
||||
ta_stub.load = _load
|
||||
sys.modules['torchaudio'] = ta_stub
|
||||
|
||||
# Basic OpenCV stub
|
||||
if importlib.util.find_spec('cv2') is None:
|
||||
sys.modules['cv2'] = types.ModuleType('cv2')
|
||||
|
||||
+2
-2
@@ -7,7 +7,7 @@ import tempfile
|
||||
import pytest
|
||||
import torch
|
||||
from PIL import Image
|
||||
from ..video import AddFramesToVideoFolder, VideoFolderProvider, VideoDefinitionProvider
|
||||
from ..audio_video_folder import AddFramesToVideoFolder, VideoFolderProvider, VideoDefinitionProvider
|
||||
|
||||
os.environ["ETERNAL_KERNEL_LITEGRAPH_NODES_TEST"] = "True"
|
||||
|
||||
@@ -143,7 +143,7 @@ class TestTemporalOpticalFlowSmoothing(TestCase):
|
||||
# check the file generation and video play
|
||||
|
||||
|
||||
from ..video import AddFramesToVideoFolder, VideoFolderProvider, VideoDefinitionProvider
|
||||
from ..audio_video_folder import AddFramesToVideoFolder, VideoFolderProvider, VideoDefinitionProvider
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
|
||||
Reference in New Issue
Block a user