factory
2 Commits
Author | SHA256 | Message | Date | |
---|---|---|---|---|
e74f83a471 |
Accepting request 986276 from home:bnavigator:branches:devel:languages:python:pytest
- Update to version 4.1.0 * pytest-qt now requires Python 3.7+. * Improved PEP-8 aliases definition so they have a smaller call stack depth by one and better parameter suggestions in IDEs. (#383). Thanks @luziferius for the PR. * Updated model tester handling around hasChildren based on Qt's updates. * New qapp_cls fixture returning the QApplication class to use, thus making it easier to use a custom subclass without having to override the whole qapp fixture. Thanks @The-Compiler for the PR. * Updated model tester to track/verify in-flight changes based on Qt's updates. Thanks @The-Compiler for the PR. * New qtbot.screenshot() method which can be used to take a screenshot of the given widget. Thanks @The-Compiler for the PR. - Enable pyside6 test flavor OBS-URL: https://build.opensuse.org/request/show/986276 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest-qt?expand=0&rev=13 |
|||
5dedac22c0 |
Accepting request 905961 from home:bnavigator:branches:devel:languages:python:pytest
- Allow either of the valid Qt binding implementations, do not hard require python-qt5 - Enable multibuild for tests with different implementations * Pyside2, PyQt5, PyQt6 * Prepared for Pyside6 - Update to version 4.0.2 * Restored compatibility with PySide2 5.11, which doesn't depend on the ``shiboken2`` project, used by pytest-qt 4.0.0. The dependency is now not needed anymore, and the ``.isdeleted`` attribute of ``qt_compat`` (which isn't intended for public use) is removed. - Release 4.0.1 * The ``sip`` module now gets imported directly if ``PyQt5.sip`` / ``PyQt6.sip`` wasn't found, as it's still packaged like that in some distributions (`#369`_). Thanks `@The-Compiler`_ for the PR. - Release 4.0.0 * `PySide6 <https://pypi.org/project/PySide6>`__ and `PyQt6 <https://pypi.org/project/PyQt6>`__ (6.1+) are now supported. Thanks `@jensheilman`_ and `@The-Compiler`_ for the PRs (`#328`_, `#330`_). * ``pytest-qt`` now requires Python 3.6+. * When using PyQt5, ``pytest-qt`` now requires PyQt5 5.11 or newer (`#330`_). * Support for Qt4 (i.e. ``PyQt4`` and ``PySide``) is now dropped (`#279`_). * The ``qtbot.waitActive`` and ``qtbot.waitExposed`` context managers are now available with all Qt APIs, rather than only PyQt5 (`#361`_). Thanks `@The-Compiler`_ for the PR. * The ``qtbot.waitForWindowShown`` method is deprecated, as the underlying Qt method was obsoleted in Qt 5.0 and removed in Qt 6.0. Its name is imprecise and the pytest-qt wrapper does not raise TimeoutError if the window wasn't shown. Please use the ``qtbot.waitExposed`` context manager instead (`#361`_). Thanks `@The-Compiler`_ for the PR. * The old ``qtbot.stopForInteraction()`` name is now removed as it was cumbersome and rarely used. Use ``qtbot.stop()`` (added in 1.1.1) instead (`#306`_). Thanks `@The-Compiler`_ for the PR. * The old ``SignalTimeoutError`` exception alias is now removed, as it was renamed to ``TimeoutError`` in 2.1 (`#306`_). Thanks `@The-Compiler`_ for the PR. * The old ``qt_wait_signal_raising`` option is now removed, as it was renamed to ``qt_default_raising`` in 3.1 (`#306`_). Thanks `@The-Compiler`_ for the PR. * ``qtbot.waitSignal`` and ``waitSignals`` (as well as their PEP-8 aliases) supported passing ``None`` as signal, making them wait for the given timeout instead. This is not supported anymore, use ``qtbot.wait(ms)`` instead (`#306`_). Thanks `@The-Compiler`_ for the PR. * Various arguments to ``qtbot`` methods are now keyword-only (`#366`_): * ``qtbot.waitActive``: ``timeout`` (``widget`` being the only positional argument) * ``qtbot.waitExposed``: ``timeout`` (``widget`` being the only positional argument) * ``qtbot.waitSignal``: ``timeout``, ``raising`` and ``check_params_cb`` (``signal`` being the only positional argument) * ``qtbot.waitSignals``: ``timeout``, ``raising`` and ``check_params_cbs`` (``signals`` being the only positional argument) * ``qtbot.assertNotEmitted``: ``wait`` (``signal`` being the only positional argument) * ``qtbot.waitUntil``: ``timeout`` (``callback`` being the only positional argument) * ``qtbot.waitCallback``: ``timeout`` and ``raising`` (with no positional arguments) The same applies to the respective PEP-8 aliases. Thanks `@The-Compiler`_ for the PR. * Various classes are now not importable from ``pytestqt.plugin`` anymore, and should instead be imported from the module they're residing in since the 1.6.0 release (`#306`_): * ``pytestqt.plugin.QtBot`` -> ``pytestqt.qtbot.QtBot`` * ``pytestqt.plugin.SignalBlocker`` -> ``pytestqt.wait_signal.SignalBlocker`` * ``pytestqt.plugin.MultiSignalBlocker`` -> ``pytestqt.wait_signal.MultiSignalBlocker`` * ``pytestqt.plugin.Record`` -> ``pytestqt.logging.Record`` * ``pytestqt.plugin.capture_exceptions`` -> ``pytestqt.exceptions.capture_exceptions`` (but consider using ``qtbot.capture_exceptions`` instead) * ``pytestqt.plugin.format_captured_exceptions`` -> ``pytestqt.exceptions.format_captured_exceptions`` * The ``qt_api.extract_from_variant`` and ``qt_api.make_variant`` functions (which were never intended for public usage) as well as all class aliases (such as ``qt_api.QWidget`` or ``qt_api.QEvent``, among others) are now removed. Thanks `@The-Compiler`_ for the PR. * The default timeouts for ``qtbot.waitSignal``, ``waitSignals``, ``waitUntil`` and ``waitCallback``, ``waitActive`` and ``waitExposed`` have been raised from 1s to 5s. This makes them in line the default timeout used by Qt's underlying methods such as ``QSignalSpy::wait``. To get the old behavior back, explicitly pass ``timeout=1000`` to those functions (`#306`_). Thanks `@The-Compiler`_ for the PR. * ``waitUntil`` now raises a ``TimeoutError`` when a timeout occurs to make the cause of the timeout more explict (`#222`_). Thanks `@karlch`_ for the PR. * The ``QtTest::keySequence`` method is now exposed (if available, with Qt >= 5.10) (`#289`_). Thanks `@The-Compiler`_ for the PR. * ``addWidget`` now enforces that its argument is a ``QWidget`` in order to display a clearer error when this isn't the case (`#290`_). Thanks `@The-Compiler`_ for the PR. * New option ``qt_qapp_name`` can be used to set the name of the ``QApplication`` created by ``pytest-qt``, defaulting to ``"pytest-qt-qapp"`` (`#302`_). Thanks `@The-Compiler`_ for the PR. * When the ``-s`` (``--capture=no``) argument is passed to pytest, Qt log capturing is now disabled as well (`#300`_). Thanks `@The-Compiler`_ for the PR. * PEP-8 aliases (``add_widget``, ``wait_active``, etc) are no longer just simple assignments to the methods, but they are real methods which call the normal implementations. This makes subclasses work as expected, instead of having to duplicate the assignment (`#326`_, `#333`_). Thanks `@oliveira-mauricio`_ and `@jensheilman`_ for the PRs. * Errors related to the ``qt_compat`` module (such as an invalid ``PYTEST_QT_API`` setting or missing Qt API wrappers) are now shown as a more human-readable error message rather than an internal pytest error (`#355`_). Thanks `@The-Compiler`_ for the PR. OBS-URL: https://build.opensuse.org/request/show/905961 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest-qt?expand=0&rev=12 |