Files
facefusion/tests/test_process_manager.py
T
2026-11-03 23:13:48 +01:00

106 lines
2.1 KiB
Python

from typing import Iterator
import pytest
from facefusion import session_context, session_manager
from facefusion.process_manager import clear, end, get_state, init, is_pending, is_processing, is_stopping, set_state, start, stop
@pytest.fixture(scope = 'function', autouse = True)
def before_each() -> Iterator[None]:
local_id = session_context.resolve_local_id()
session_context.set_session_id(local_id)
clear()
session_context.set_session_id('session-a')
clear()
session_context.set_session_id('session-b')
clear()
session_context.set_session_id('session-a')
yield
session_context.set_session_id(local_id)
def test_init() -> None:
set_state('processing')
init()
assert get_state() == 'pending'
def test_get_state() -> None:
set_state('processing')
session_context.set_session_id('session-b')
set_state('stopping')
assert get_state() == 'stopping'
session_context.set_session_id('session-a')
assert get_state() == 'processing'
fork_id = session_manager.fork_session()
clear()
assert get_state() == 'pending'
set_state('processing')
assert get_state() == 'processing'
session_context.set_session_id('session-a')
set_state('stopping')
session_context.set_session_id(fork_id)
assert get_state() == 'stopping'
session_context.set_session_id('session-a')
set_state('processing')
session_context.set_session_id(fork_id)
assert get_state() == 'processing'
local_id = session_context.resolve_local_id()
session_context.set_session_id(local_id)
set_state('stopping')
session_context.set_session_id(fork_id)
assert get_state() == 'stopping'
session_context.set_session_id('session-b')
assert get_state() == 'stopping'
session_context.set_session_id(fork_id)
session_manager.join_session()
def test_start() -> None:
set_state('pending')
start()
assert is_processing()
def test_stop_process() -> None:
set_state('processing')
stop()
assert is_stopping()
def test_end_process() -> None:
set_state('processing')
end()
assert is_pending()
def test_clear() -> None:
set_state('processing')
clear()
assert get_state() == 'pending'