skip tests whose optional dependency is not installed
With pywikidiff2 and mediawiki-utilities no longer installed by default, the tests covering --diff, -p wikidiff2, and -p legacy cannot run on a base install. Mark them so a base install reports skips rather than failures, and keep the markers in wikiq_test_utils.py so all three test modules share one definition of what each feature needs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> (cherry picked from commit 59d5a9d46a04320bad5d81e0edf5ecd11f9c2a9b)
This commit is contained in:
@@ -1,8 +1,27 @@
|
||||
import importlib.util
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
from typing import Final, Union
|
||||
|
||||
import pytest
|
||||
|
||||
|
||||
def _installed(module: str) -> bool:
|
||||
return importlib.util.find_spec(module) is not None
|
||||
|
||||
|
||||
# wikiq's two optional dependencies. Tests exercising --diff, -p wikidiff2, or
|
||||
# -p legacy cannot run on a base install, so they skip rather than fail.
|
||||
requires_pywikidiff2 = pytest.mark.skipif(
|
||||
not _installed("pywikidiff2"),
|
||||
reason="needs the optional pywikidiff2 extension (--diff, -p wikidiff2)",
|
||||
)
|
||||
requires_mediawiki_utilities = pytest.mark.skipif(
|
||||
not _installed("mw"),
|
||||
reason="needs the optional mediawiki-utilities package (-p legacy)",
|
||||
)
|
||||
|
||||
TEST_DIR: Final[str] = os.path.dirname(os.path.realpath(__file__))
|
||||
WIKIQ: Final[str] = os.path.join(os.path.join(TEST_DIR, ".."), "src/wikiq/__init__.py")
|
||||
TEST_OUTPUT_DIR: Final[str] = os.path.join(TEST_DIR, "test_output")
|
||||
|
||||
Reference in New Issue
Block a user