1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
import os
import pytest
def pytest_configure(config):
"""Configure the test environment."""
if "USE_QT_API" in os.environ:
os.environ["QT_API"] = os.environ["USE_QT_API"].lower()
# We need to import qtpy here to make sure that the API versions get set
# straight away.
import qtpy
def pytest_report_header(config):
"""Insert a customized header into the test report."""
versions = os.linesep
versions += "PyQt5: "
try:
from PyQt5 import Qt
versions += f"PyQt: {Qt.PYQT_VERSION_STR} - Qt: {Qt.QT_VERSION_STR}"
except ImportError:
versions += "not installed"
except AttributeError:
versions += "unknown version"
versions += os.linesep
versions += "PySide2: "
try:
import PySide2
from PySide2 import QtCore
versions += f"PySide: {PySide2.__version__} - Qt: {QtCore.__version__}"
except ImportError:
versions += "not installed"
except AttributeError:
versions += "unknown version"
versions += os.linesep
versions += "PyQt6: "
try:
from PyQt6 import QtCore
versions += (
f"PyQt: {QtCore.PYQT_VERSION_STR} - Qt: {QtCore.QT_VERSION_STR}"
)
except ImportError:
versions += "not installed"
except AttributeError:
versions += "unknown version"
versions += os.linesep
versions += "PySide6: "
try:
import PySide6
from PySide6 import QtCore
versions += f"PySide: {PySide6.__version__} - Qt: {QtCore.__version__}"
except ImportError:
versions += "not installed"
except AttributeError:
versions += "unknown version"
versions += os.linesep
return versions
@pytest.fixture
def pdf_writer(qtbot):
from pathlib import Path
from qtpy import QtGui
output_path = Path("test.pdf")
device = QtGui.QPdfWriter(str(output_path))
yield device, output_path
output_path.unlink()
|