Make generic driver tests pybuild-safe
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
from configparser import ConfigParser
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def load_source_settings():
|
||||
"""Load settings.conf from a checkout or a nested package build tree."""
|
||||
for parent in Path(__file__).resolve().parents:
|
||||
settings_path = parent / "config/settings/settings.conf"
|
||||
if settings_path.is_file():
|
||||
config = ConfigParser(interpolation=None)
|
||||
config.read(settings_path)
|
||||
return config
|
||||
|
||||
raise FileNotFoundError(
|
||||
"Could not find config/settings/settings.conf above the test directory"
|
||||
)
|
||||
@@ -1,5 +1,3 @@
|
||||
from configparser import ConfigParser
|
||||
from pathlib import Path
|
||||
from unittest.mock import Mock
|
||||
|
||||
import pytest
|
||||
@@ -7,6 +5,8 @@ import pytest
|
||||
from fenrirscreenreader.core.settingsData import settings_data
|
||||
from fenrirscreenreader.soundDriver import genericDriver
|
||||
|
||||
from .config_test_utils import load_source_settings
|
||||
|
||||
|
||||
class SettingsManager:
|
||||
def __init__(self, settings):
|
||||
@@ -26,8 +26,7 @@ def _sound_driver(settings):
|
||||
|
||||
|
||||
def _configured_sound_settings():
|
||||
config = ConfigParser(interpolation=None)
|
||||
config.read(Path(__file__).parents[2] / "config/settings/settings.conf")
|
||||
config = load_source_settings()
|
||||
return {
|
||||
"generic_play_file_command": config.get(
|
||||
"sound", "generic_play_file_command"
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
from configparser import ConfigParser
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from fenrirscreenreader.core.settingsData import settings_data
|
||||
from fenrirscreenreader.speechDriver import genericDriver
|
||||
|
||||
from .config_test_utils import load_source_settings
|
||||
|
||||
|
||||
def test_build_speech_command_replaces_snake_case_placeholders():
|
||||
speech_driver = genericDriver.driver()
|
||||
@@ -43,8 +42,7 @@ def test_build_speech_command_replaces_snake_case_placeholders():
|
||||
|
||||
|
||||
def _configured_speech_command():
|
||||
config = ConfigParser(interpolation=None)
|
||||
config.read(Path(__file__).parents[2] / "config/settings/settings.conf")
|
||||
config = load_source_settings()
|
||||
return config.get("speech", "generic_speech_command")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user