diff options
Diffstat (limited to 'tests/test_dll_detection.py')
| -rw-r--r-- | tests/test_dll_detection.py | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/tests/test_dll_detection.py b/tests/test_dll_detection.py deleted file mode 100644 index e50d733..0000000 --- a/tests/test_dll_detection.py +++ /dev/null @@ -1,129 +0,0 @@ -""" -Tests for the DLL detection service. -""" - -import os -import tempfile -from pathlib import Path -from unittest.mock import Mock, patch - -from lsfg_vk.dll_detection import DllDetectionService -from lsfg_vk.constants import LOSSLESS_DLL_NAME - - -def test_dll_detection_via_env_variable(): - """Test DLL detection via LSFG_DLL_PATH environment variable""" - mock_logger = Mock() - - with tempfile.TemporaryDirectory() as temp_dir: - # Create a fake DLL file - dll_path = Path(temp_dir) / LOSSLESS_DLL_NAME - dll_path.write_text("fake dll content") - - service = DllDetectionService(logger=mock_logger) - - # Test with environment variable set - with patch.dict(os.environ, {"LSFG_DLL_PATH": str(dll_path)}): - result = service.check_lossless_scaling_dll() - - assert result["detected"] is True - assert result["path"] == str(dll_path) - assert "LSFG_DLL_PATH" in result["source"] - assert result["error"] is None - - -def test_dll_detection_via_xdg_data_home(): - """Test DLL detection via XDG_DATA_HOME""" - mock_logger = Mock() - - with tempfile.TemporaryDirectory() as temp_dir: - # Create the expected directory structure - steam_dir = Path(temp_dir) / "Steam" / "steamapps" / "common" / "Lossless Scaling" - steam_dir.mkdir(parents=True) - - dll_path = steam_dir / LOSSLESS_DLL_NAME - dll_path.write_text("fake dll content") - - service = DllDetectionService(logger=mock_logger) - - # Test with XDG_DATA_HOME set, no LSFG_DLL_PATH - with patch.dict(os.environ, {"XDG_DATA_HOME": temp_dir}, clear=True): - result = service.check_lossless_scaling_dll() - - assert result["detected"] is True - assert result["path"] == str(dll_path) - assert "XDG_DATA_HOME" in result["source"] - assert result["error"] is None - - -def test_dll_detection_via_home_local_share(): - """Test DLL detection via HOME/.local/share""" - mock_logger = Mock() - - with tempfile.TemporaryDirectory() as temp_dir: - # Create the expected directory structure - steam_dir = Path(temp_dir) / ".local" / "share" / "Steam" / "steamapps" / "common" / "Lossless Scaling" - steam_dir.mkdir(parents=True) - - dll_path = steam_dir / LOSSLESS_DLL_NAME - dll_path.write_text("fake dll content") - - service = DllDetectionService(logger=mock_logger) - - # Test with HOME set, no other env vars - env = {"HOME": temp_dir} - with patch.dict(os.environ, env, clear=True): - result = service.check_lossless_scaling_dll() - - assert result["detected"] is True - assert result["path"] == str(dll_path) - assert "HOME/.local/share" in result["source"] - assert result["error"] is None - - -def test_dll_detection_not_found(): - """Test DLL detection when DLL is not found""" - mock_logger = Mock() - - service = DllDetectionService(logger=mock_logger) - - # Test with no environment variables set - with patch.dict(os.environ, {}, clear=True): - result = service.check_lossless_scaling_dll() - - assert result["detected"] is False - assert result["path"] is None - assert result["source"] is None - assert "not found" in result["message"] - assert result["error"] is None - - -def test_dll_detection_priority(): - """Test that LSFG_DLL_PATH takes priority over other locations""" - mock_logger = Mock() - - with tempfile.TemporaryDirectory() as temp_dir1, tempfile.TemporaryDirectory() as temp_dir2: - # Create DLL in both locations - dll_path1 = Path(temp_dir1) / LOSSLESS_DLL_NAME - dll_path1.write_text("fake dll content 1") - - steam_dir = Path(temp_dir2) / "Steam" / "steamapps" / "common" / "Lossless Scaling" - steam_dir.mkdir(parents=True) - dll_path2 = steam_dir / LOSSLESS_DLL_NAME - dll_path2.write_text("fake dll content 2") - - service = DllDetectionService(logger=mock_logger) - - # Set both environment variables - env = { - "LSFG_DLL_PATH": str(dll_path1), - "XDG_DATA_HOME": temp_dir2 - } - - with patch.dict(os.environ, env, clear=True): - result = service.check_lossless_scaling_dll() - - # Should prefer LSFG_DLL_PATH - assert result["detected"] is True - assert result["path"] == str(dll_path1) - assert "LSFG_DLL_PATH" in result["source"] |
