Hello community, here is the log from the commit of package python-pytest-qt for openSUSE:Factory checked in at 2018-06-02 12:12:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pytest-qt (Old) and /work/SRC/openSUSE:Factory/.python-pytest-qt.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytest-qt" Sat Jun 2 12:12:48 2018 rev:3 rq:613325 version:2.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pytest-qt/python-pytest-qt.changes 2018-05-15 10:33:42.719505015 +0200 +++ /work/SRC/openSUSE:Factory/.python-pytest-qt.new/python-pytest-qt.changes 2018-06-02 12:13:28.949053682 +0200 @@ -1,0 +2,6 @@ +Thu May 31 16:01:42 UTC 2018 - toddrme2...@gmail.com + +- Update to 2.3.2 + * Use new pytest 3.6 marker API when possible. + +------------------------------------------------------------------- Old: ---- pytest-qt-2.3.1.tar.gz New: ---- pytest-qt-2.4.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pytest-qt.spec ++++++ --- /var/tmp/diff_new_pack.HcWEGj/_old 2018-06-02 12:13:29.949017004 +0200 +++ /var/tmp/diff_new_pack.HcWEGj/_new 2018-06-02 12:13:29.953016858 +0200 @@ -18,7 +18,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-pytest-qt -Version: 2.3.1 +Version: 2.4.0 Release: 0 Summary: Pytest support for PyQt and PySide applications License: MIT @@ -61,7 +61,10 @@ %check export PYTEST_QT_API=pyqt5 -%python_expand PYTHONPATH="%{buildroot}%{$python_sitelib}" xvfb-run --server-args="-screen 0 1920x1080x24" py.test-%{py_ver} -v +export PYTHONDONTWRITEBYTECODE=1 +%{python_expand export PYTHONPATH="%{buildroot}%{$python_sitelib}" +xvfb-run --server-args="-screen 0 1920x1080x24" py.test-%{$python_bin_suffix} -v +} %files %{python_files} %license LICENSE ++++++ pytest-qt-2.3.1.tar.gz -> pytest-qt-2.4.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-qt-2.3.1/.travis.yml new/pytest-qt-2.4.0/.travis.yml --- old/pytest-qt-2.3.1/.travis.yml 2018-01-05 01:29:08.000000000 +0100 +++ new/pytest-qt-2.4.0/.travis.yml 2018-05-24 13:42:09.000000000 +0200 @@ -22,6 +22,12 @@ - PYTEST_QT_API=pyqt5 PYQT_PACKAGE="pyqt=5.*" PYTHON_VERSION=3.6 - PYTEST_QT_API=pyside2 PYQT_PACKAGE="pyside2=2.*" PYTHON_VERSION=3.6 +matrix: + # PySide2 crashes: #202 + allow_failures: + - env: PYTEST_QT_API=pyside2 PYQT_PACKAGE="pyside2=2.*" PYTHON_VERSION=3.5 + - env: PYTEST_QT_API=pyside2 PYQT_PACKAGE="pyside2=2.*" PYTHON_VERSION=3.6 + install: - sudo apt-get update diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-qt-2.3.1/CHANGELOG.rst new/pytest-qt-2.4.0/CHANGELOG.rst --- old/pytest-qt-2.3.1/CHANGELOG.rst 2018-01-05 01:29:08.000000000 +0100 +++ new/pytest-qt-2.4.0/CHANGELOG.rst 2018-05-24 13:42:09.000000000 +0200 @@ -1,11 +1,26 @@ +2.4.0 +----- + +- Use new pytest 3.6 marker API when possible (`#212`_). Thanks `@The-Compiler`_ for the PR. + +.. _#212: https://github.com/pytest-dev/pytest-qt/pull/212 + +2.3.2 +----- + +- Fix ``QStringListModel`` import when using ``PySide2`` (`#209`_). Thanks `@rth`_ for the PR. + +.. _#209: https://github.com/pytest-dev/pytest-qt/pull/209 + + 2.3.1 ----- - ``PYTEST_QT_API`` environment variable correctly wins over ``qt_api`` - ini variable if both are set at the same time (`#196`_). Thanks `@mochick` for the PR. + ini variable if both are set at the same time (`#196`_). Thanks `@mochick`_ for the PR. .. _#196: https://github.com/pytest-dev/pytest-qt/pull/196 -.. _@mochick: https://github.com/mochick + 2.3.0 ----- @@ -21,7 +36,7 @@ Thanks `@p0las`_ for the PR. .. _#189: https://github.com/pytest-dev/pytest-qt/issues/189 -.. _@p0las: https://github.com/p0las + 2.2.0 @@ -30,7 +45,7 @@ - ``pytest-qt`` now supports `PySide2`_ thanks to `@rth`_! .. _PySide2: https://wiki.qt.io/PySide2 -.. _@rth: https://github.com/rth + 2.1.2 ----- @@ -450,7 +465,10 @@ .. _@gqmelo: https://github.com/gqmelo .. _@itghisi: https://github.com/itghisi .. _@jdreaver: https://github.com/jdreaver +.. _@mochick: https://github.com/mochick .. _@montefra: https://github.com/montefra .. _@MShekow: https://github.com/MShekow +.. _@p0las: https://github.com/p0las +.. _@rth: https://github.com/rth .. _@Sheeo: https://github.com/Sheeo .. _@The-Compiler: https://github.com/The-Compiler diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-qt-2.3.1/PKG-INFO new/pytest-qt-2.4.0/PKG-INFO --- old/pytest-qt-2.3.1/PKG-INFO 2018-01-05 01:32:46.000000000 +0100 +++ new/pytest-qt-2.4.0/PKG-INFO 2018-05-24 13:45:51.000000000 +0200 @@ -1,12 +1,11 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: pytest-qt -Version: 2.3.1 +Version: 2.4.0 Summary: pytest support for PyQt and PySide applications Home-page: http://github.com/pytest-dev/pytest-qt Author: Bruno Oliveira Author-email: nicodde...@gmail.com License: MIT -Description-Content-Type: UNKNOWN Description: ========= pytest-qt ========= @@ -41,7 +40,7 @@ .. |version| image:: http://img.shields.io/pypi/v/pytest-qt.svg :target: https://pypi.python.org/pypi/pytest-qt - .. |anaconda| image:: https://anaconda.org/conda-forge/pytest-qt/badges/version.svg + .. |conda-forge| image:: https://img.shields.io/conda/vn/conda-forge/pytest-qt.svg :target: https://anaconda.org/conda-forge/pytest-qt .. |travis| image:: https://img.shields.io/travis/pytest-dev/pytest-qt/master.svg @@ -53,14 +52,14 @@ .. |docs| image:: https://readthedocs.org/projects/pytest-qt/badge/?version=latest :target: https://pytest-qt.readthedocs.io - .. |appveyor| image:: https://img.shields.io/appveyor/ci/pytest-dev/pytest-qt/master.svg + .. |appveyor| image:: https://img.shields.io/appveyor/ci/nicoddemus/pytest-qt/master.svg :target: https://ci.appveyor.com/project/nicoddemus/pytest-qt .. |python| image:: https://img.shields.io/pypi/pyversions/pytest-qt.svg :target: https://pypi.python.org/pypi/pytest-qt/ :alt: Supported Python versions - |python| |version| |anaconda| |travis| |appveyor| |coverage| |docs| + |python| |version| |conda-forge| |travis| |appveyor| |coverage| |docs| Features @@ -198,3 +197,4 @@ Classifier: Topic :: Software Development :: Quality Assurance Classifier: Topic :: Software Development :: Testing Classifier: Topic :: Software Development :: User Interfaces +Provides-Extra: doc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-qt-2.3.1/README.rst new/pytest-qt-2.4.0/README.rst --- old/pytest-qt-2.3.1/README.rst 2018-01-05 01:29:08.000000000 +0100 +++ new/pytest-qt-2.4.0/README.rst 2018-05-24 13:42:09.000000000 +0200 @@ -32,7 +32,7 @@ .. |version| image:: http://img.shields.io/pypi/v/pytest-qt.svg :target: https://pypi.python.org/pypi/pytest-qt -.. |anaconda| image:: https://anaconda.org/conda-forge/pytest-qt/badges/version.svg +.. |conda-forge| image:: https://img.shields.io/conda/vn/conda-forge/pytest-qt.svg :target: https://anaconda.org/conda-forge/pytest-qt .. |travis| image:: https://img.shields.io/travis/pytest-dev/pytest-qt/master.svg @@ -44,14 +44,14 @@ .. |docs| image:: https://readthedocs.org/projects/pytest-qt/badge/?version=latest :target: https://pytest-qt.readthedocs.io -.. |appveyor| image:: https://img.shields.io/appveyor/ci/pytest-dev/pytest-qt/master.svg +.. |appveyor| image:: https://img.shields.io/appveyor/ci/nicoddemus/pytest-qt/master.svg :target: https://ci.appveyor.com/project/nicoddemus/pytest-qt .. |python| image:: https://img.shields.io/pypi/pyversions/pytest-qt.svg :target: https://pypi.python.org/pypi/pytest-qt/ :alt: Supported Python versions -|python| |version| |anaconda| |travis| |appveyor| |coverage| |docs| +|python| |version| |conda-forge| |travis| |appveyor| |coverage| |docs| Features diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-qt-2.3.1/appveyor.yml new/pytest-qt-2.4.0/appveyor.yml --- old/pytest-qt-2.3.1/appveyor.yml 2018-01-05 01:29:08.000000000 +0100 +++ new/pytest-qt-2.4.0/appveyor.yml 2018-05-24 13:42:09.000000000 +0200 @@ -20,7 +20,7 @@ - PYTHON_VERSION: "2.7" PYTEST_QT_API: "pyside" CONDA_DEPENDENCIES: "pytest pyside=1.*" - + - PYTHON_VERSION: "3.4" PYTEST_QT_API: "pyqt4" CONDA_DEPENDENCIES: "pytest pyqt=4.*" @@ -45,6 +45,11 @@ PYTEST_QT_API: "pyside2" CONDA_DEPENDENCIES: "pytest pyside2=2.*" +matrix: + exclude: + # PySide2 crashes: #202 + - PYTEST_QT_API: "pyside2" + platform: -x64 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-qt-2.3.1/docs/index.rst new/pytest-qt-2.4.0/docs/index.rst --- old/pytest-qt-2.3.1/docs/index.rst 2018-01-05 01:29:08.000000000 +0100 +++ new/pytest-qt-2.4.0/docs/index.rst 2018-05-24 13:42:09.000000000 +0200 @@ -25,6 +25,8 @@ modeltester app_exit note_pyqt4v2 + note_dialogs + troubleshooting reference changelog diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-qt-2.3.1/docs/note_dialogs.rst new/pytest-qt-2.4.0/docs/note_dialogs.rst --- old/pytest-qt-2.3.1/docs/note_dialogs.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/pytest-qt-2.4.0/docs/note_dialogs.rst 2018-05-24 13:42:09.000000000 +0200 @@ -0,0 +1,58 @@ +A note about Modal Dialogs +========================== + +Simple Dialogs +-------------- + +For QMessageBox.question one approach is to mock the function using the `monkeypatch <https://docs.pytest.org/en/latest/monkeypatch.html>`_ fixture: + +.. code-block:: python + + def test_Qt(qtbot, monkeypatch): + simple = Simple() + qtbot.addWidget(simple) + + monkeypatch.setattr(QMessageBox, 'question', lambda *args: QMessageBox.Yes) + simple.query() + assert simple.answer + +Custom Dialogs +-------------- + +Suppose you have a custom dialog that asks the user for their name and age, and a form +that uses it. One approach is to add a convenience function that also has the nice +benefit of making testing easier, like this: + +.. code-block:: python + + class AskNameAndAgeDialog(QDialog): + ... + @classmethod + def ask(cls, text, parent): + dialog = cls(parent) + dialog.text.setText(text) + if dialog.exec_() == QDialog.Accepted: + return dialog.getName(), dialog.getAge() + else: + return None, None + +This allows clients of the dialog to use it this way: + +.. code-block:: python + + name, age = AskNameAndAgeDialog.ask("Enter name and age because of bananas:", parent) + if name is not None: + # use name and age for bananas + +And now it is also easy to mock ``AskNameAndAgeDialog.ask`` when testing the form: + +.. code-block:: python + + def test_form_registration(qtbot, monkeypatch): + form = RegistrationForm() + + monkeypatch.setattr(AskNameAndAgeDialog, 'ask', classmethod(lambda *args: ('Jonh', 30))) + qtbot.click(form.enter_info()) + # calls AskNameAndAgeDialog.ask + # test that the rest of the form correctly behaves as if + # user entered "Jonh" and 30 as name and age diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-qt-2.3.1/docs/troubleshooting.rst new/pytest-qt-2.4.0/docs/troubleshooting.rst --- old/pytest-qt-2.3.1/docs/troubleshooting.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/pytest-qt-2.4.0/docs/troubleshooting.rst 2018-05-24 13:42:09.000000000 +0200 @@ -0,0 +1,63 @@ +Troubleshooting +=============== + + +tox: ``InvocationError`` without further information +---------------------------------------------------- + +It might happen that your ``tox`` run finishes abruptly without any useful information, e.g.:: + + ERROR: InvocationError: + '/path/to/project/.tox/py36/bin/python setup.py test --addopts --doctest-modules' + ___ summary _____ + ERROR: py36: commands failed + +``pytest-qt`` needs a ``DISPLAY`` to run, otherwise ``Qt`` calls ``abort()`` and the process crashes immediately. + +One solution is to use the `pytest-xvfb`_ plugin which takes care of the grifty details automatically, starting up a virtual framebuffer service, initializing variables, etc. This is the recommended solution if you are running in CI servers without a GUI, for example in Travis or CircleCI. + +Alternatively, ``tox`` users may edit ``tox.ini`` to allow the relevant variables to be passed to the underlying +``pytest`` invocation: + +.. code-block:: ini + + [testenv] + passenv = DISPLAY XAUTHORITY + +Note that this solution will only work in boxes with a GUI. + +More details can be found in `issue #170`_. + +.. _pytest-xvfb: https://pypi.python.org/pypi/pytest-xvfb/ +.. _issue #170: https://github.com/pytest-dev/pytest-qt/issues/170 + + + +xvfb: ``AssertionError``, ``TimeoutError`` when using ``waitUntil``, ``waitExposed`` and UI events. +--------------------------------------------------------------------------------------------------- + +When using ``xvfb`` or equivalent make sure to have a window manager running otherwise UI events will not work properly. + +If you are running your code on Travis-CI make sure that your ``.travis.yml`` has the following content: + +.. code-block:: yaml + + sudo: required + + before_install: + - sudo apt-get update + - sudo apt-get install -y xvfb herbstluftwm + + install: + - "export DISPLAY=:99.0" + - "/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1920x1200x24 -ac +extension GLX +render -noreset" + - sleep 3 + + before_script: + - "herbstluftwm &" + - sleep 1 + +More details can be found in `issue #206`_. + +.. _issue #206: https://github.com/pytest-dev/pytest-qt/issues/206 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-qt-2.3.1/pytest_qt.egg-info/PKG-INFO new/pytest-qt-2.4.0/pytest_qt.egg-info/PKG-INFO --- old/pytest-qt-2.3.1/pytest_qt.egg-info/PKG-INFO 2018-01-05 01:32:46.000000000 +0100 +++ new/pytest-qt-2.4.0/pytest_qt.egg-info/PKG-INFO 2018-05-24 13:45:51.000000000 +0200 @@ -1,12 +1,11 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: pytest-qt -Version: 2.3.1 +Version: 2.4.0 Summary: pytest support for PyQt and PySide applications Home-page: http://github.com/pytest-dev/pytest-qt Author: Bruno Oliveira Author-email: nicodde...@gmail.com License: MIT -Description-Content-Type: UNKNOWN Description: ========= pytest-qt ========= @@ -41,7 +40,7 @@ .. |version| image:: http://img.shields.io/pypi/v/pytest-qt.svg :target: https://pypi.python.org/pypi/pytest-qt - .. |anaconda| image:: https://anaconda.org/conda-forge/pytest-qt/badges/version.svg + .. |conda-forge| image:: https://img.shields.io/conda/vn/conda-forge/pytest-qt.svg :target: https://anaconda.org/conda-forge/pytest-qt .. |travis| image:: https://img.shields.io/travis/pytest-dev/pytest-qt/master.svg @@ -53,14 +52,14 @@ .. |docs| image:: https://readthedocs.org/projects/pytest-qt/badge/?version=latest :target: https://pytest-qt.readthedocs.io - .. |appveyor| image:: https://img.shields.io/appveyor/ci/pytest-dev/pytest-qt/master.svg + .. |appveyor| image:: https://img.shields.io/appveyor/ci/nicoddemus/pytest-qt/master.svg :target: https://ci.appveyor.com/project/nicoddemus/pytest-qt .. |python| image:: https://img.shields.io/pypi/pyversions/pytest-qt.svg :target: https://pypi.python.org/pypi/pytest-qt/ :alt: Supported Python versions - |python| |version| |anaconda| |travis| |appveyor| |coverage| |docs| + |python| |version| |conda-forge| |travis| |appveyor| |coverage| |docs| Features @@ -198,3 +197,4 @@ Classifier: Topic :: Software Development :: Quality Assurance Classifier: Topic :: Software Development :: Testing Classifier: Topic :: Software Development :: User Interfaces +Provides-Extra: doc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-qt-2.3.1/pytest_qt.egg-info/SOURCES.txt new/pytest-qt-2.4.0/pytest_qt.egg-info/SOURCES.txt --- old/pytest-qt-2.3.1/pytest_qt.egg-info/SOURCES.txt 2018-01-05 01:32:46.000000000 +0100 +++ new/pytest-qt-2.4.0/pytest_qt.egg-info/SOURCES.txt 2018-05-24 13:45:51.000000000 +0200 @@ -21,9 +21,11 @@ docs/logging.rst docs/make.bat docs/modeltester.rst +docs/note_dialogs.rst docs/note_pyqt4v2.rst docs/reference.rst docs/signals.rst +docs/troubleshooting.rst docs/tutorial.rst docs/virtual_methods.rst docs/wait_until.rst @@ -42,6 +44,7 @@ pytestqt/plugin.py pytestqt/qt_compat.py pytestqt/qtbot.py +pytestqt/utils.py pytestqt/wait_signal.py scripts/link_pyqt.py tests/conftest.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-qt-2.3.1/pytestqt/_version.py new/pytest-qt-2.4.0/pytestqt/_version.py --- old/pytest-qt-2.3.1/pytestqt/_version.py 2018-01-05 01:32:46.000000000 +0100 +++ new/pytest-qt-2.4.0/pytestqt/_version.py 2018-05-24 13:45:51.000000000 +0200 @@ -1,4 +1,4 @@ # coding: utf-8 # file generated by setuptools_scm # don't change, don't track in version control -version = '2.3.1' +version = '2.4.0' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-qt-2.3.1/pytestqt/exceptions.py new/pytest-qt-2.4.0/pytestqt/exceptions.py --- old/pytest-qt-2.3.1/pytestqt/exceptions.py 2018-01-05 01:29:08.000000000 +0100 +++ new/pytest-qt-2.4.0/pytestqt/exceptions.py 2018-05-24 13:42:09.000000000 +0200 @@ -2,6 +2,7 @@ import sys import traceback import pytest +from pytestqt.utils import get_marker @contextmanager @@ -78,7 +79,7 @@ def _is_exception_capture_enabled(item): """returns if exception capture is disabled for the given test item. """ - disabled = item.get_marker('qt_no_exception_capture') or \ + disabled = get_marker(item, 'qt_no_exception_capture') or \ item.config.getini('qt_no_exception_capture') return not disabled diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-qt-2.3.1/pytestqt/logging.py new/pytest-qt-2.4.0/pytestqt/logging.py --- old/pytest-qt-2.3.1/pytestqt/logging.py 2018-01-05 01:29:08.000000000 +0100 +++ new/pytest-qt-2.4.0/pytestqt/logging.py 2018-05-24 13:42:09.000000000 +0200 @@ -5,6 +5,7 @@ from py._code.code import TerminalRepr, ReprFileLocation import pytest from pytestqt.qt_compat import qt_api +from pytestqt.utils import get_marker class QtLoggingPlugin(object): @@ -19,9 +20,9 @@ self.config = config def pytest_runtest_setup(self, item): - if item.get_marker('no_qt_log'): + if get_marker(item, 'no_qt_log'): return - m = item.get_marker('qt_log_ignore') + m = get_marker(item, 'qt_log_ignore') if m: if not set(m.kwargs).issubset(set(['extend'])): raise ValueError("Invalid keyword arguments in {0!r} for " @@ -46,7 +47,7 @@ if call.when == 'call': report = outcome.get_result() - m = item.get_marker('qt_log_level_fail') + m = get_marker(item, 'qt_log_level_fail') if m: log_fail_level = m.args[0] else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-qt-2.3.1/pytestqt/qt_compat.py new/pytest-qt-2.4.0/pytestqt/qt_compat.py --- old/pytest-qt-2.3.1/pytestqt/qt_compat.py 2018-01-05 01:29:08.000000000 +0100 +++ new/pytest-qt-2.4.0/pytestqt/qt_compat.py 2018-05-24 13:42:09.000000000 +0200 @@ -108,13 +108,15 @@ self.Signal = QtCore.Signal self.Slot = QtCore.Slot self.Property = QtCore.Property - self.QStringListModel = QtGui.QStringListModel + if hasattr(QtGui, 'QStringListModel'): + self.QStringListModel = QtGui.QStringListModel + else: + self.QStringListModel = QtCore.QStringListModel self.QStandardItem = QtGui.QStandardItem self.QStandardItemModel = QtGui.QStandardItemModel self.QAbstractListModel = QtCore.QAbstractListModel self.QAbstractTableModel = QtCore.QAbstractTableModel - self.QStringListModel = QtGui.QStringListModel if self.pytest_qt_api == 'pyside2': _QtWidgets = _import_module('QtWidgets') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-qt-2.3.1/pytestqt/utils.py new/pytest-qt-2.4.0/pytestqt/utils.py --- old/pytest-qt-2.3.1/pytestqt/utils.py 1970-01-01 01:00:00.000000000 +0100 +++ new/pytest-qt-2.4.0/pytestqt/utils.py 2018-05-24 13:42:09.000000000 +0200 @@ -0,0 +1,11 @@ +def get_marker(item, name): + """Get a marker from a pytest item. + + This is here in order to stay compatible with pytest < 3.6 and not produce + any deprecation warnings with >= 3.6. + """ + try: + return item.get_closest_marker(name) + except AttributeError: + # pytest < 3.6 + return item.get_marker(name)