mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-05-14 19:17:32 +08:00
Handle input directory creation failures safely
This commit is contained in:
parent
7b7becc34c
commit
97191568d7
@ -117,12 +117,12 @@ 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
|
||||
if not os.path.exists(input_directory):
|
||||
try:
|
||||
os.makedirs(input_directory)
|
||||
except:
|
||||
logging.error("Failed to create input directory")
|
||||
|
||||
def get_output_directory() -> str:
|
||||
global output_directory
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import pytest
|
||||
|
||||
import folder_paths
|
||||
|
||||
|
||||
@ -11,3 +13,18 @@ def test_set_input_directory_creates_missing_directory(tmp_path):
|
||||
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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user