This commit is contained in:
huyua9 2026-05-10 01:22:22 +00:00 committed by GitHub
commit e9b969606e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 35 additions and 0 deletions

View File

@ -121,6 +121,11 @@ def set_temp_directory(temp_dir: str) -> None:
def set_input_directory(input_dir: str) -> None:
global input_directory
try:
os.makedirs(input_dir, exist_ok=True)
except OSError:
logging.exception("Failed to create input directory: %s", input_dir)
raise
input_directory = input_dir
def get_output_directory() -> str:

View File

@ -0,0 +1,30 @@
import pytest
import folder_paths
def test_set_input_directory_creates_missing_directory(tmp_path):
original_input_directory = folder_paths.get_input_directory()
custom_input_directory = tmp_path / "custom-input"
try:
folder_paths.set_input_directory(str(custom_input_directory))
assert custom_input_directory.is_dir()
finally:
folder_paths.set_input_directory(original_input_directory)
def test_set_input_directory_keeps_original_when_creation_fails(tmp_path, monkeypatch):
original_input_directory = folder_paths.get_input_directory()
custom_input_directory = tmp_path / "custom-input"
def fail_to_create_directory(path, exist_ok=False):
raise OSError("create failed")
monkeypatch.setattr(folder_paths.os, "makedirs", fail_to_create_directory)
with pytest.raises(OSError, match="create failed"):
folder_paths.set_input_directory(str(custom_input_directory))
assert folder_paths.get_input_directory() == original_input_directory