Accepting request 906055 from devel:languages:python:pytest
OBS-URL: https://build.opensuse.org/request/show/906055 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest-qt?expand=0&rev=8
This commit is contained in:
commit
898a4e5812
6
_multibuild
Normal file
6
_multibuild
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<multibuild>
|
||||||
|
<flavor>test-pyqt5</flavor>
|
||||||
|
<flavor>test-pyqt6</flavor>
|
||||||
|
<flavor>test-pyside2</flavor>
|
||||||
|
<!-- flavor>test-pyside6</flavor -->
|
||||||
|
</multibuild>
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:714b0bf86c5313413f2d300ac613515db3a1aef595051ab8ba2ffe619dbe8925
|
|
||||||
size 113439
|
|
3
pytest-qt-4.0.2.tar.gz
Normal file
3
pytest-qt-4.0.2.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:dfc5240dec7eb43b76bcb5f9a87eecae6ef83592af49f3af5f1d5d093acaa93e
|
||||||
|
size 113466
|
@ -1,3 +1,103 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jul 12 20:18:59 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 14 15:02:19 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- 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.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Sep 25 09:19:58 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
Fri Sep 25 09:19:58 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python-pytest-qt
|
# spec file
|
||||||
#
|
#
|
||||||
# Copyright (c) 2020 SUSE LLC
|
# Copyright (c) 2021 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -16,28 +16,85 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
%{?!python_module:%define python_module() python3-%{**}}
|
||||||
Name: python-pytest-qt
|
%define skip_python2 1
|
||||||
Version: 3.3.0
|
%global flavor @BUILD_FLAVOR@%{nil}
|
||||||
|
%if "%{flavor}" == ""
|
||||||
|
%define psuffix %{nil}
|
||||||
|
%bcond_with test
|
||||||
|
%endif
|
||||||
|
%if "%{flavor}" == "test-pyqt5"
|
||||||
|
%define psuffix -%{flavor}
|
||||||
|
%define test_qtapi pyqt5
|
||||||
|
%bcond_without test
|
||||||
|
BuildRequires: %{python_module qt5}
|
||||||
|
BuildConflicts: %{python_module PyQt6}
|
||||||
|
BuildConflicts: %{python_module pyside2}
|
||||||
|
BuildConflicts: %{python_module pyside6}
|
||||||
|
%endif
|
||||||
|
%if "%{flavor}" == "test-pyqt6"
|
||||||
|
%define psuffix -%{flavor}
|
||||||
|
%define test_qtapi pyqt6
|
||||||
|
%bcond_without test
|
||||||
|
BuildRequires: %{python_module PyQt6}
|
||||||
|
BuildConflicts: %{python_module pyside2}
|
||||||
|
BuildConflicts: %{python_module pyside6}
|
||||||
|
BuildConflicts: %{python_module qt5}
|
||||||
|
%endif
|
||||||
|
%if "%{flavor}" == "test-pyside2"
|
||||||
|
%define psuffix -%{flavor}
|
||||||
|
# pyside is for the primary python3 flavor only
|
||||||
|
%define pythons python3
|
||||||
|
%define test_qtapi pyside2
|
||||||
|
%bcond_without test
|
||||||
|
BuildRequires: %{python_module pyside2}
|
||||||
|
BuildConflicts: %{python_module PyQt6}
|
||||||
|
BuildConflicts: %{python_module pyside6}
|
||||||
|
BuildConflicts: %{python_module qt5}
|
||||||
|
%endif
|
||||||
|
%if "%{flavor}" == "test-pyside6"
|
||||||
|
%define psuffix -%{flavor}
|
||||||
|
# pyside is for the primary python3 flavor only
|
||||||
|
%define pythons python3
|
||||||
|
%define test_qtapi pyside6
|
||||||
|
%bcond_without test
|
||||||
|
BuildRequires: %{python_module pyside6}
|
||||||
|
BuildConflicts: %{python_module PyQt6}
|
||||||
|
BuildConflicts: %{python_module pyside2}
|
||||||
|
BuildConflicts: %{python_module qt5}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Name: python-pytest-qt%{psuffix}
|
||||||
|
Version: 4.0.2
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Pytest support for PyQt and PySide applications
|
Summary: Pytest support for PyQt and PySide applications
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: Development/Languages/Python
|
Group: Development/Languages/Python
|
||||||
URL: http://github.com/pytest-dev/pytest-qt
|
URL: https://github.com/pytest-dev/pytest-qt
|
||||||
Source: https://files.pythonhosted.org/packages/source/p/pytest-qt/pytest-qt-%{version}.tar.gz
|
Source: https://files.pythonhosted.org/packages/source/p/pytest-qt/pytest-qt-%{version}.tar.gz
|
||||||
BuildRequires: %{python_module pytest >= 3.0}
|
|
||||||
BuildRequires: %{python_module pytest-xvfb}
|
|
||||||
BuildRequires: %{python_module qt5}
|
|
||||||
BuildRequires: %{python_module setuptools_scm}
|
BuildRequires: %{python_module setuptools_scm}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
BuildRequires: dos2unix
|
BuildRequires: dos2unix
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros >= 20210608
|
||||||
Requires: python-pytest >= 3.0
|
|
||||||
Requires: python-qt5
|
|
||||||
# https://github.com/pytest-dev/pytest-qt/issues/317
|
# https://github.com/pytest-dev/pytest-qt/issues/317
|
||||||
Requires: free-ttf-fonts
|
Requires: bitstream-vera-fonts
|
||||||
|
Requires: python-pytest >= 3.0
|
||||||
|
Suggests: python-PyQt6
|
||||||
|
Suggests: python-pyside2
|
||||||
|
Suggests: python-pyside6
|
||||||
|
Suggests: python-qt5
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
%if "%{python_flavor}" == "python3" || "%{python_provides}" == "python3"
|
||||||
|
Requires: (python-qt5 or python-PyQt6 or python3-pyside2 or python3-pyside6)
|
||||||
|
%else
|
||||||
|
Requires: (python-qt5 or python-PyQt6)
|
||||||
|
%endif
|
||||||
|
%if %{with test}
|
||||||
|
# https://github.com/pytest-dev/pytest-qt/issues/376
|
||||||
|
BuildRequires: %{python_module pytest >= 4.5}
|
||||||
|
BuildRequires: %{python_module pytest-qt = %{version}}
|
||||||
|
%endif
|
||||||
%python_subpackages
|
%python_subpackages
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -52,23 +109,30 @@ like key presses and mouse clicks.
|
|||||||
%setup -q -n pytest-qt-%{version}
|
%setup -q -n pytest-qt-%{version}
|
||||||
dos2unix LICENSE
|
dos2unix LICENSE
|
||||||
|
|
||||||
|
%if ! %{with test}
|
||||||
%build
|
%build
|
||||||
%python_build
|
%python_build
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with test}
|
||||||
%install
|
%install
|
||||||
%python_install
|
%python_install
|
||||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with test}
|
||||||
%check
|
%check
|
||||||
export PYTEST_QT_API=pyqt5
|
export QT_QPA_PLATFORM=offscreen
|
||||||
# test_qt_api_ini_config* needs the qt4 and pyside/etc
|
export PYTEST_QT_API=%{test_qtapi}
|
||||||
# test_wait_window fails randomly on OBS
|
%pytest
|
||||||
%pytest -k 'not (test_qt_api_ini_config or test_wait_window)'
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with test}
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%doc CHANGELOG.rst README.rst
|
%doc CHANGELOG.rst README.rst
|
||||||
%{python_sitelib}/pytestqt
|
%{python_sitelib}/pytestqt
|
||||||
%{python_sitelib}/pytest_qt-%{version}-py*.egg-info
|
%{python_sitelib}/pytest_qt-%{version}-py*.egg-info
|
||||||
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
Loading…
x
Reference in New Issue
Block a user