test_inference_pool.py 1.1 KB

123456789101112131415161718192021222324252627282930
  1. from unittest.mock import patch
  2. import pytest
  3. from onnxruntime import InferenceSession
  4. from facefusion import content_analyser, state_manager
  5. from facefusion.inference_manager import INFERENCE_POOLS, get_inference_pool
  6. @pytest.fixture(scope = 'module', autouse = True)
  7. def before_all() -> None:
  8. content_analyser.pre_check()
  9. state_manager.init_item('execution_device_id', 0)
  10. state_manager.init_item('execution_providers', [ 'cpu' ])
  11. def test_get_inference_pool() -> None:
  12. model_sources = content_analyser.get_model_options().get('sources')
  13. with patch('facefusion.inference_manager.detect_app_context', return_value = 'cli'):
  14. get_inference_pool('test', model_sources)
  15. assert isinstance(INFERENCE_POOLS.get('cli').get('test.cpu').get('content_analyser'), InferenceSession)
  16. with patch('facefusion.inference_manager.detect_app_context', return_value = 'ui'):
  17. get_inference_pool('test', model_sources)
  18. assert isinstance(INFERENCE_POOLS.get('ui').get('test.cpu').get('content_analyser'), InferenceSession)
  19. assert INFERENCE_POOLS.get('cli').get('test.cpu').get('content_analyser') == INFERENCE_POOLS.get('ui').get('test.cpu').get('content_analyser')