test: improve stubs for unit tests

This commit is contained in:
Tasha Upchurch
2025-06-21 23:20:34 -06:00
parent bb7faf4c75
commit f2b0c931e2
2 changed files with 39 additions and 2 deletions
+37
View File
@@ -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
View File
@@ -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")