Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dfd3e8cb37 | ||
|
|
454b0f34c4 | ||
|
|
14227981cb | ||
|
|
5cf7a11260 | ||
|
|
312cb46f22 | ||
|
|
e180fd53fa | ||
|
|
81f1757357 |
@@ -59,15 +59,6 @@ pytest tests/ --cov=src/fenrirscreenreader --cov-report=html
|
|||||||
can run multiple foreground X terminal instances. Ask user to run tests that
|
can run multiple foreground X terminal instances. Ask user to run tests that
|
||||||
need real Fenrir instances or root access.
|
need real Fenrir instances or root access.
|
||||||
|
|
||||||
### Packaging Test Layouts
|
|
||||||
|
|
||||||
- Debian `pybuild` runs copied tests from a nested `.pybuild/.../build` tree
|
|
||||||
and may omit top-level source directories such as `config/`.
|
|
||||||
- Tests that inspect source resources must locate them by walking upward from
|
|
||||||
the resolved test path; do not assume a fixed `Path(__file__).parents[N]`.
|
|
||||||
- Packaging-sensitive test changes should be checked from both the source tree
|
|
||||||
and a representative nested build directory under `/tmp`.
|
|
||||||
|
|
||||||
## Creating Commands
|
## Creating Commands
|
||||||
|
|
||||||
Use `commands/command_template.py` as base. Required methods:
|
Use `commands/command_template.py` as base. Required methods:
|
||||||
|
|||||||
@@ -4,5 +4,5 @@
|
|||||||
# Fenrir TTY screen reader
|
# Fenrir TTY screen reader
|
||||||
# By Chrys, Storm Dragon, and contributors.
|
# By Chrys, Storm Dragon, and contributors.
|
||||||
|
|
||||||
version = "2026.09.12"
|
version = "2026.09.03"
|
||||||
code_name = "testing"
|
code_name = "master"
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
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,3 +1,5 @@
|
|||||||
|
from configparser import ConfigParser
|
||||||
|
from pathlib import Path
|
||||||
from unittest.mock import Mock
|
from unittest.mock import Mock
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
@@ -5,8 +7,6 @@ import pytest
|
|||||||
from fenrirscreenreader.core.settingsData import settings_data
|
from fenrirscreenreader.core.settingsData import settings_data
|
||||||
from fenrirscreenreader.soundDriver import genericDriver
|
from fenrirscreenreader.soundDriver import genericDriver
|
||||||
|
|
||||||
from .config_test_utils import load_source_settings
|
|
||||||
|
|
||||||
|
|
||||||
class SettingsManager:
|
class SettingsManager:
|
||||||
def __init__(self, settings):
|
def __init__(self, settings):
|
||||||
@@ -26,7 +26,8 @@ def _sound_driver(settings):
|
|||||||
|
|
||||||
|
|
||||||
def _configured_sound_settings():
|
def _configured_sound_settings():
|
||||||
config = load_source_settings()
|
config = ConfigParser(interpolation=None)
|
||||||
|
config.read(Path(__file__).parents[2] / "config/settings/settings.conf")
|
||||||
return {
|
return {
|
||||||
"generic_play_file_command": config.get(
|
"generic_play_file_command": config.get(
|
||||||
"sound", "generic_play_file_command"
|
"sound", "generic_play_file_command"
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
|
from configparser import ConfigParser
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from fenrirscreenreader.core.settingsData import settings_data
|
from fenrirscreenreader.core.settingsData import settings_data
|
||||||
from fenrirscreenreader.speechDriver import genericDriver
|
from fenrirscreenreader.speechDriver import genericDriver
|
||||||
|
|
||||||
from .config_test_utils import load_source_settings
|
|
||||||
|
|
||||||
|
|
||||||
def test_build_speech_command_replaces_snake_case_placeholders():
|
def test_build_speech_command_replaces_snake_case_placeholders():
|
||||||
speech_driver = genericDriver.driver()
|
speech_driver = genericDriver.driver()
|
||||||
@@ -42,7 +43,8 @@ def test_build_speech_command_replaces_snake_case_placeholders():
|
|||||||
|
|
||||||
|
|
||||||
def _configured_speech_command():
|
def _configured_speech_command():
|
||||||
config = load_source_settings()
|
config = ConfigParser(interpolation=None)
|
||||||
|
config.read(Path(__file__).parents[2] / "config/settings/settings.conf")
|
||||||
return config.get("speech", "generic_speech_command")
|
return config.get("speech", "generic_speech_command")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user