Hello community,

here is the log from the commit of package python-pytest-tornado for 
openSUSE:Factory checked in at 2020-06-29 21:18:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest-tornado (Old)
 and      /work/SRC/openSUSE:Factory/.python-pytest-tornado.new.3060 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pytest-tornado"

Mon Jun 29 21:18:29 2020 rev:4 rq:817718 version:0.8.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-pytest-tornado/python-pytest-tornado.changes  
    2019-06-03 18:56:58.996392959 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pytest-tornado.new.3060/python-pytest-tornado.changes
    2020-06-29 21:18:53.145880616 +0200
@@ -1,0 +2,7 @@
+Mon Jun 29 12:24:13 UTC 2020 - Marketa Calabkova <[email protected]>
+
+- Update to 0.8.1
+  * Fixed deprecation warning for pytest >= 5.4
+- Pull in Github tarball and launch tests
+
+-------------------------------------------------------------------

Old:
----
  pytest-tornado-0.8.0.tar.gz

New:
----
  pytest-tornado-0.8.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pytest-tornado.spec ++++++
--- /var/tmp/diff_new_pack.QyauAg/_old  2020-06-29 21:18:54.825885814 +0200
+++ /var/tmp/diff_new_pack.QyauAg/_new  2020-06-29 21:18:54.829885826 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-pytest-tornado
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,13 +18,13 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-pytest-tornado
-Version:        0.8.0
+Version:        0.8.1
 Release:        0
 Summary:        A py.test plugin for tornado applications
 License:        Apache-2.0
 Group:          Development/Languages/Python
 URL:            https://github.com/eugeniy/pytest-tornado
-Source:         
https://files.pythonhosted.org/packages/source/p/pytest-tornado/pytest-tornado-%{version}.tar.gz
+Source:         
https://github.com/eugeniy/pytest-tornado/archive/v%{version}.tar.gz#/pytest-tornado-%{version}.tar.gz
 BuildRequires:  %{python_module certifi}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module setuptools}
@@ -51,6 +51,9 @@
 %python_install
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
+%check
+%pytest
+
 %files %{python_files}
 %doc README.rst
 %license LICENSE

++++++ pytest-tornado-0.8.0.tar.gz -> pytest-tornado-0.8.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/.coveralls.yml 
new/pytest-tornado-0.8.1/.coveralls.yml
--- old/pytest-tornado-0.8.0/.coveralls.yml     1970-01-01 01:00:00.000000000 
+0100
+++ new/pytest-tornado-0.8.1/.coveralls.yml     2020-06-17 13:06:32.000000000 
+0200
@@ -0,0 +1,2 @@
+service_name: travis-ci
+parallel: true # if the CI is running your build in parallel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/.gitignore 
new/pytest-tornado-0.8.1/.gitignore
--- old/pytest-tornado-0.8.0/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/pytest-tornado-0.8.1/.gitignore 2020-06-17 13:06:32.000000000 +0200
@@ -0,0 +1,58 @@
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+env/
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+*.egg-info/
+.installed.cfg
+*.egg
+
+# PyInstaller
+#  Usually these files are written by a python script from a template
+#  before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.coverage
+.cache
+nosetests.xml
+coverage.xml
+.ropeproject/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+target/
+
+# Cert for testing
+testcert.pem
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/.travis.yml 
new/pytest-tornado-0.8.1/.travis.yml
--- old/pytest-tornado-0.8.0/.travis.yml        1970-01-01 01:00:00.000000000 
+0100
+++ new/pytest-tornado-0.8.1/.travis.yml        2020-06-17 13:06:32.000000000 
+0200
@@ -0,0 +1,54 @@
+language: python
+cache: pip
+dist: xenial
+python:
+    - 2.7
+    - 3.5
+    - 3.6
+    - 3.7
+    - 3.8
+env:
+    - TORNADO_VERSION=6.0 PYTEST_VERSION=5.2
+    - TORNADO_VERSION=6.0 PYTEST_VERSION=4.3
+    - TORNADO_VERSION=5.0 PYTEST_VERSION=5.2
+    - TORNADO_VERSION=5.0 PYTEST_VERSION=4.0
+    - TORNADO_VERSION=5.0.0 PYTEST_VERSION=3.6
+    - TORNADO_VERSION=5.0.0 PYTEST_VERSION=4.0.0
+    - TORNADO_VERSION=4.3.0 PYTEST_VERSION=3.6
+    - TORNADO_VERSION=4.1.0 PYTEST_VERSION=3.6.4
+install:
+    - pip install tornado~=$TORNADO_VERSION pytest~=$PYTEST_VERSION
+    - pip install PyOpenSSL  # used to create a cert for testing
+    - python setup.py install
+    - pip install coverage coveralls
+script:
+    - python test/create_cert.py --cert test/testcert.pem
+    - coverage run --branch --source pytest_tornado.plugin -m pytest --strict
+    - coverage report -m
+after_success:
+    - coveralls
+
+jobs:
+  exclude:
+    # Tornado 6 only supports Python >= 3.5
+    - python: 2.7
+      env: TORNADO_VERSION=6.0 PYTEST_VERSION=4.3
+    # Pytest 4.0.0 requires a version of attrs that does not work with Python 
3.8.
+    - python: 3.8
+      env: TORNADO_VERSION=5.0.0 PYTEST_VERSION=4.0.0
+    # pytest 5 requires Python 3
+    - python: 2.7
+      env: TORNADO_VERSION=6.0 PYTEST_VERSION=5.2
+    - python: 2.7
+      env: TORNADO_VERSION=5.0 PYTEST_VERSION=5.2
+  include:
+    - stage: deploy
+      python: 3.7
+      deploy:
+        provider: pypi
+        distributions: sdist bdist_wheel
+        user: eugeniy
+        password:
+          secure: 
gmpsfekSDT9LuF3XkJK64myhQ6Xg8WyqI/0m5Gnnb+hSrCFGD8/dgtRdLEULuDkFPvL/FsoE2L6XcdKuqaKkqSM3kk4Min8hqGapcfe/OSOkCDaYSUBCXmV2dlbtMTAzHfo3zpueToUelZvblw9y3wXVFWkmr1mf47Q9kUPIgnU=
+        on:
+          tags: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/CHANGELOG 
new/pytest-tornado-0.8.1/CHANGELOG
--- old/pytest-tornado-0.8.0/CHANGELOG  1970-01-01 01:00:00.000000000 +0100
+++ new/pytest-tornado-0.8.1/CHANGELOG  2020-06-17 13:06:32.000000000 +0200
@@ -0,0 +1,21 @@
+# Unreleased
+
+# 0.8.1
+
+* Fixed deprecation warning for pytest >= 5.4
+
+# 0.8.0
+
+* Added support for HTTPS testing (#50)
+* Group commandline options for pytest (#53)
+
+# 0.7 (2019-04-08)
+
+* Added support for Tornado 6
+* Requires at least Tornado 4.1
+
+# 0.6 (2019-03-28)
+
+* Added support for Tornado 5
+* Requires at least pytest 3.6
+* Removed support for Tornado 3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/Makefile 
new/pytest-tornado-0.8.1/Makefile
--- old/pytest-tornado-0.8.0/Makefile   1970-01-01 01:00:00.000000000 +0100
+++ new/pytest-tornado-0.8.1/Makefile   2020-06-17 13:06:32.000000000 +0200
@@ -0,0 +1,15 @@
+.PHONY: build clean upload test-upload
+
+default: build
+
+build:
+       python setup.py sdist bdist_wheel
+
+clean:
+       rm -rf build dist *.egg-info
+
+upload: clean build
+       twine upload dist/*
+
+test-upload: clean build
+       twine upload -r pypitest dist/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/PKG-INFO 
new/pytest-tornado-0.8.1/PKG-INFO
--- old/pytest-tornado-0.8.0/PKG-INFO   2019-05-14 14:29:51.000000000 +0200
+++ new/pytest-tornado-0.8.1/PKG-INFO   1970-01-01 01:00:00.000000000 +0100
@@ -1,177 +0,0 @@
-Metadata-Version: 1.2
-Name: pytest-tornado
-Version: 0.8.0
-Summary: A py.test plugin providing fixtures and markers to simplify testing 
of asynchronous tornado applications.
-Home-page: https://github.com/eugeniy/pytest-tornado
-Author: Eugeniy Kalinin
-Author-email: [email protected]
-Maintainer: Vidar Tonaas Fauske
-Maintainer-email: [email protected]
-License: Apache License, Version 2.0
-Description: pytest-tornado
-        ==============
-        
-        .. image:: 
https://travis-ci.org/eugeniy/pytest-tornado.svg?branch=master
-            :target: https://travis-ci.org/eugeniy/pytest-tornado
-        
-        .. image:: https://coveralls.io/repos/eugeniy/pytest-tornado/badge.svg
-            :target: https://coveralls.io/r/eugeniy/pytest-tornado
-        
-        A py.test_ plugin providing fixtures and markers to simplify testing
-        of asynchronous tornado applications.
-        
-        Installation
-        ------------
-        
-        ::
-        
-            pip install pytest-tornado
-        
-        
-        Example
-        -------
-        
-        .. code-block:: python
-        
-            import pytest
-            import tornado.web
-        
-            class MainHandler(tornado.web.RequestHandler):
-                def get(self):
-                    self.write("Hello, world")
-        
-            application = tornado.web.Application([
-                (r"/", MainHandler),
-            ])
-        
-            @pytest.fixture
-            def app():
-                return application
-        
-            @pytest.mark.gen_test
-            def test_hello_world(http_client, base_url):
-                response = yield http_client.fetch(base_url)
-                assert response.code == 200
-        
-        
-        Running tests
-        -------------
-        
-        ::
-        
-            py.test
-        
-        
-        Fixtures
-        --------
-        
-        io_loop
-            creates an instance of the `tornado.ioloop.IOLoop`_ for each test 
case
-        
-        http_port
-            get a port used by the test server
-        
-        base_url
-            Get an absolute base url for the test server,
-            for example ``http://localhost:59828``.
-            Can also be used in a test with HTTPS fixture and will then return
-            a corresponding url, for example ``http://localhost:48372``.
-        
-        http_server
-            start a tornado HTTP server, you must create an ``app`` fixture,
-            which returns the `tornado.web.Application`_ to be tested
-        
-        http_client
-            get an asynchronous HTTP client
-        
-        
-        There is also the possibility to test applications with HTTPS.
-        For running a server with HTTPS you need a certificate.
-        
-        https_port
-            Get a port used by the test server.
-        
-        https_server
-            Start a tornado HTTPS server. You must create an ``app`` fixture,
-            which returns the `tornado.web.Application`_ to be tested, and
-            an ``ssl_options`` fixture which returns the SSL options for the
-            `tornado.httpserver.HTTPServer`_.
-        
-        https_client
-            Get an asynchronous HTTP client.
-            In case your test uses an self-signed certificate you can set
-            ``verify=False`` on the fetch method.
-        
-        
-        Show fixtures provided by the plugin::
-        
-            py.test --fixtures
-        
-        
-        Markers
-        -------
-        
-        A ``gen_test`` marker lets you write a coroutine-style tests used with 
the
-        `tornado.gen`_ module:
-        
-        .. code-block:: python
-        
-            @pytest.mark.gen_test
-            def test_tornado(http_client):
-                response = yield 
http_client.fetch('http://www.tornadoweb.org/')
-                assert response.code == 200
-        
-        
-        This marker supports writing tests with async/await syntax as well:
-        
-        .. code-block:: python
-        
-            @pytest.mark.gen_test
-            async def test_tornado(http_client):
-                response = await 
http_client.fetch('http://www.tornadoweb.org/')
-                assert response.code == 200
-        
-        
-        Marked tests will time out after 5 seconds. The timeout can be 
modified by
-        setting an ``ASYNC_TEST_TIMEOUT`` environment variable,
-        ``--async-test-timeout`` command line argument or a marker argument.
-        
-        .. code-block:: python
-        
-            @pytest.mark.gen_test(timeout=5)
-            def test_tornado(http_client):
-                yield http_client.fetch('http://www.tornadoweb.org/')
-        
-        The mark can also receive a run_sync flag, which if turned off will, 
instead of running the test synchronously, will add it as a coroutine and run 
the IOLoop (until the timeout). For instance, this allows to test things on 
both a client and a server at the same time.
-        
-        .. code-block:: python
-        
-            @pytest.mark.gen_test(run_sync=False)
-            def test_tornado(http_server, http_client):
-                response = yield 
http_client.fetch('http://localhost:5555/my_local_server_test/')
-                assert response.body == 'Run on the same IOLoop!'
-        
-        
-        Show markers provided by the plugin::
-        
-            py.test --markers
-        
-        
-        .. _py.test: http://pytest.org/
-        .. _`tornado.httpserver.HTTPServer`: 
https://www.tornadoweb.org/en/latest/httpserver.html#http-server
-        .. _`tornado.ioloop.IOLoop`: 
http://tornado.readthedocs.org/en/latest/ioloop.html#ioloop-objects
-        .. _`tornado.web.Application`: 
http://tornado.readthedocs.org/en/latest/web.html#application-configuration
-        .. _`tornado.gen`: http://tornado.readthedocs.org/en/latest/gen.html
-        
-Keywords: pytest py.test tornado async asynchronous testing unit tests plugin
-Platform: UNKNOWN
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Environment :: Plugins
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: Apache Software License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 3
-Classifier: Topic :: Software Development
-Classifier: Topic :: Software Development :: Testing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/pytest_tornado/plugin.py 
new/pytest-tornado-0.8.1/pytest_tornado/plugin.py
--- old/pytest-tornado-0.8.0/pytest_tornado/plugin.py   2019-05-14 
14:29:17.000000000 +0200
+++ new/pytest-tornado-0.8.1/pytest_tornado/plugin.py   2020-06-17 
13:06:32.000000000 +0200
@@ -3,6 +3,7 @@
 import types
 import inspect
 import datetime
+import pkg_resources
 import pytest
 import tornado
 import tornado.gen
@@ -15,6 +16,8 @@
 else:
     iscoroutinefunction = lambda f: False
 
+_PYTEST_VERSION = pkg_resources.parse_version(pytest.__version__)
+
 
 def _get_async_test_timeout():
     try:
@@ -67,7 +70,10 @@
 @pytest.mark.tryfirst
 def pytest_pycollect_makeitem(collector, name, obj):
     if collector.funcnamefilter(name) and inspect.isgeneratorfunction(obj):
-        item = pytest.Function(name, parent=collector)
+        if _PYTEST_VERSION >= pkg_resources.parse_version("5.4.0"):
+            item = pytest.Function.from_parent(collector, name=name)
+        else:
+            item = pytest.Function(name, parent=collector)
         if 'gen_test' in item.keywords:
             return list(collector._genfunctions(name, obj))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest-tornado-0.8.0/pytest_tornado.egg-info/PKG-INFO 
new/pytest-tornado-0.8.1/pytest_tornado.egg-info/PKG-INFO
--- old/pytest-tornado-0.8.0/pytest_tornado.egg-info/PKG-INFO   2019-05-14 
14:29:51.000000000 +0200
+++ new/pytest-tornado-0.8.1/pytest_tornado.egg-info/PKG-INFO   1970-01-01 
01:00:00.000000000 +0100
@@ -1,177 +0,0 @@
-Metadata-Version: 1.2
-Name: pytest-tornado
-Version: 0.8.0
-Summary: A py.test plugin providing fixtures and markers to simplify testing 
of asynchronous tornado applications.
-Home-page: https://github.com/eugeniy/pytest-tornado
-Author: Eugeniy Kalinin
-Author-email: [email protected]
-Maintainer: Vidar Tonaas Fauske
-Maintainer-email: [email protected]
-License: Apache License, Version 2.0
-Description: pytest-tornado
-        ==============
-        
-        .. image:: 
https://travis-ci.org/eugeniy/pytest-tornado.svg?branch=master
-            :target: https://travis-ci.org/eugeniy/pytest-tornado
-        
-        .. image:: https://coveralls.io/repos/eugeniy/pytest-tornado/badge.svg
-            :target: https://coveralls.io/r/eugeniy/pytest-tornado
-        
-        A py.test_ plugin providing fixtures and markers to simplify testing
-        of asynchronous tornado applications.
-        
-        Installation
-        ------------
-        
-        ::
-        
-            pip install pytest-tornado
-        
-        
-        Example
-        -------
-        
-        .. code-block:: python
-        
-            import pytest
-            import tornado.web
-        
-            class MainHandler(tornado.web.RequestHandler):
-                def get(self):
-                    self.write("Hello, world")
-        
-            application = tornado.web.Application([
-                (r"/", MainHandler),
-            ])
-        
-            @pytest.fixture
-            def app():
-                return application
-        
-            @pytest.mark.gen_test
-            def test_hello_world(http_client, base_url):
-                response = yield http_client.fetch(base_url)
-                assert response.code == 200
-        
-        
-        Running tests
-        -------------
-        
-        ::
-        
-            py.test
-        
-        
-        Fixtures
-        --------
-        
-        io_loop
-            creates an instance of the `tornado.ioloop.IOLoop`_ for each test 
case
-        
-        http_port
-            get a port used by the test server
-        
-        base_url
-            Get an absolute base url for the test server,
-            for example ``http://localhost:59828``.
-            Can also be used in a test with HTTPS fixture and will then return
-            a corresponding url, for example ``http://localhost:48372``.
-        
-        http_server
-            start a tornado HTTP server, you must create an ``app`` fixture,
-            which returns the `tornado.web.Application`_ to be tested
-        
-        http_client
-            get an asynchronous HTTP client
-        
-        
-        There is also the possibility to test applications with HTTPS.
-        For running a server with HTTPS you need a certificate.
-        
-        https_port
-            Get a port used by the test server.
-        
-        https_server
-            Start a tornado HTTPS server. You must create an ``app`` fixture,
-            which returns the `tornado.web.Application`_ to be tested, and
-            an ``ssl_options`` fixture which returns the SSL options for the
-            `tornado.httpserver.HTTPServer`_.
-        
-        https_client
-            Get an asynchronous HTTP client.
-            In case your test uses an self-signed certificate you can set
-            ``verify=False`` on the fetch method.
-        
-        
-        Show fixtures provided by the plugin::
-        
-            py.test --fixtures
-        
-        
-        Markers
-        -------
-        
-        A ``gen_test`` marker lets you write a coroutine-style tests used with 
the
-        `tornado.gen`_ module:
-        
-        .. code-block:: python
-        
-            @pytest.mark.gen_test
-            def test_tornado(http_client):
-                response = yield 
http_client.fetch('http://www.tornadoweb.org/')
-                assert response.code == 200
-        
-        
-        This marker supports writing tests with async/await syntax as well:
-        
-        .. code-block:: python
-        
-            @pytest.mark.gen_test
-            async def test_tornado(http_client):
-                response = await 
http_client.fetch('http://www.tornadoweb.org/')
-                assert response.code == 200
-        
-        
-        Marked tests will time out after 5 seconds. The timeout can be 
modified by
-        setting an ``ASYNC_TEST_TIMEOUT`` environment variable,
-        ``--async-test-timeout`` command line argument or a marker argument.
-        
-        .. code-block:: python
-        
-            @pytest.mark.gen_test(timeout=5)
-            def test_tornado(http_client):
-                yield http_client.fetch('http://www.tornadoweb.org/')
-        
-        The mark can also receive a run_sync flag, which if turned off will, 
instead of running the test synchronously, will add it as a coroutine and run 
the IOLoop (until the timeout). For instance, this allows to test things on 
both a client and a server at the same time.
-        
-        .. code-block:: python
-        
-            @pytest.mark.gen_test(run_sync=False)
-            def test_tornado(http_server, http_client):
-                response = yield 
http_client.fetch('http://localhost:5555/my_local_server_test/')
-                assert response.body == 'Run on the same IOLoop!'
-        
-        
-        Show markers provided by the plugin::
-        
-            py.test --markers
-        
-        
-        .. _py.test: http://pytest.org/
-        .. _`tornado.httpserver.HTTPServer`: 
https://www.tornadoweb.org/en/latest/httpserver.html#http-server
-        .. _`tornado.ioloop.IOLoop`: 
http://tornado.readthedocs.org/en/latest/ioloop.html#ioloop-objects
-        .. _`tornado.web.Application`: 
http://tornado.readthedocs.org/en/latest/web.html#application-configuration
-        .. _`tornado.gen`: http://tornado.readthedocs.org/en/latest/gen.html
-        
-Keywords: pytest py.test tornado async asynchronous testing unit tests plugin
-Platform: UNKNOWN
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Environment :: Plugins
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: Apache Software License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 3
-Classifier: Topic :: Software Development
-Classifier: Topic :: Software Development :: Testing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest-tornado-0.8.0/pytest_tornado.egg-info/SOURCES.txt 
new/pytest-tornado-0.8.1/pytest_tornado.egg-info/SOURCES.txt
--- old/pytest-tornado-0.8.0/pytest_tornado.egg-info/SOURCES.txt        
2019-05-14 14:29:51.000000000 +0200
+++ new/pytest-tornado-0.8.1/pytest_tornado.egg-info/SOURCES.txt        
1970-01-01 01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
-LICENSE
-MANIFEST.in
-README.rst
-setup.cfg
-setup.py
-pytest_tornado/__init__.py
-pytest_tornado/plugin.py
-pytest_tornado.egg-info/PKG-INFO
-pytest_tornado.egg-info/SOURCES.txt
-pytest_tornado.egg-info/dependency_links.txt
-pytest_tornado.egg-info/entry_points.txt
-pytest_tornado.egg-info/requires.txt
-pytest_tornado.egg-info/top_level.txt
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest-tornado-0.8.0/pytest_tornado.egg-info/dependency_links.txt 
new/pytest-tornado-0.8.1/pytest_tornado.egg-info/dependency_links.txt
--- old/pytest-tornado-0.8.0/pytest_tornado.egg-info/dependency_links.txt       
2019-05-14 14:29:51.000000000 +0200
+++ new/pytest-tornado-0.8.1/pytest_tornado.egg-info/dependency_links.txt       
1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest-tornado-0.8.0/pytest_tornado.egg-info/entry_points.txt 
new/pytest-tornado-0.8.1/pytest_tornado.egg-info/entry_points.txt
--- old/pytest-tornado-0.8.0/pytest_tornado.egg-info/entry_points.txt   
2019-05-14 14:29:51.000000000 +0200
+++ new/pytest-tornado-0.8.1/pytest_tornado.egg-info/entry_points.txt   
1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-[pytest11]
-tornado = pytest_tornado.plugin
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest-tornado-0.8.0/pytest_tornado.egg-info/requires.txt 
new/pytest-tornado-0.8.1/pytest_tornado.egg-info/requires.txt
--- old/pytest-tornado-0.8.0/pytest_tornado.egg-info/requires.txt       
2019-05-14 14:29:51.000000000 +0200
+++ new/pytest-tornado-0.8.1/pytest_tornado.egg-info/requires.txt       
1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-pytest>=3.6
-tornado>=4.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest-tornado-0.8.0/pytest_tornado.egg-info/top_level.txt 
new/pytest-tornado-0.8.1/pytest_tornado.egg-info/top_level.txt
--- old/pytest-tornado-0.8.0/pytest_tornado.egg-info/top_level.txt      
2019-05-14 14:29:51.000000000 +0200
+++ new/pytest-tornado-0.8.1/pytest_tornado.egg-info/top_level.txt      
1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-pytest_tornado
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/setup.cfg 
new/pytest-tornado-0.8.1/setup.cfg
--- old/pytest-tornado-0.8.0/setup.cfg  2019-05-14 14:29:51.000000000 +0200
+++ new/pytest-tornado-0.8.1/setup.cfg  2020-06-17 13:06:32.000000000 +0200
@@ -1,7 +1,2 @@
 [bdist_wheel]
-universal = 1
-
-[egg_info]
-tag_build = 
-tag_date = 0
-
+universal=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/setup.py 
new/pytest-tornado-0.8.1/setup.py
--- old/pytest-tornado-0.8.0/setup.py   2019-05-14 14:29:17.000000000 +0200
+++ new/pytest-tornado-0.8.1/setup.py   2020-06-17 13:06:32.000000000 +0200
@@ -11,7 +11,7 @@
 
 setup(
     name='pytest-tornado',
-    version='0.8.0',
+    version='0.8.1',
     description=('A py.test plugin providing fixtures and markers '
                  'to simplify testing of asynchronous tornado applications.'),
     long_description=long_description,
@@ -36,7 +36,7 @@
     keywords=('pytest py.test tornado async asynchronous '
               'testing unit tests plugin'),
     packages=find_packages(exclude=["tests.*", "tests"]),
-    install_requires=['pytest>=3.6', 'tornado>=4.1'],
+    install_requires=['pytest>=3.6', 'tornado>=4.1', 'setuptools'],
     entry_points={
         'pytest11': ['tornado = pytest_tornado.plugin'],
     },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/test/conftest.py 
new/pytest-tornado-0.8.1/test/conftest.py
--- old/pytest-tornado-0.8.0/test/conftest.py   1970-01-01 01:00:00.000000000 
+0100
+++ new/pytest-tornado-0.8.1/test/conftest.py   2020-06-17 13:06:32.000000000 
+0200
@@ -0,0 +1,9 @@
+import sys
+import tornado
+
+collect_ignore = []
+if sys.version_info[:2] < (3, 5) or tornado.version_info[:2] < (4, 3):
+    collect_ignore.append("test_async_await.py")
+
+
+pytest_plugins = ["pytester"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/test/create_cert.py 
new/pytest-tornado-0.8.1/test/create_cert.py
--- old/pytest-tornado-0.8.0/test/create_cert.py        1970-01-01 
01:00:00.000000000 +0100
+++ new/pytest-tornado-0.8.1/test/create_cert.py        2020-06-17 
13:06:32.000000000 +0200
@@ -0,0 +1,91 @@
+# -*- coding: utf-8 -*-
+"""
+Create a cert with pyOpenSSL for tests.
+
+Heavily based on python-opsi's OPSI.Util.Task.Certificate.
+Source: 
https://github.com/opsi-org/python-opsi/blob/stable/OPSI/Util/Task/Certificate.py
+"""
+import argparse
+import os
+import random
+import socket
+from tempfile import NamedTemporaryFile
+
+from OpenSSL import crypto
+
+try:
+       import secrets
+except ImportError:
+       secrets = None
+
+
+def createCertificate(path):
+       """
+       Creates a certificate.
+       """
+       cert = crypto.X509()
+       cert.get_subject().C = "DE"  # Country
+       cert.get_subject().ST = "HE"  # State
+       cert.get_subject().L = "Wiesbaden"  # Locality
+       cert.get_subject().O = "pytest-tornado"  # Organisation
+       cert.get_subject().OU = "Testing Department"  # organisational unit
+       cert.get_subject().CN = socket.getfqdn()  # common name
+
+       # As described in RFC5280 this value is required and must be a
+       # positive and unique integer.
+       # Source: http://tools.ietf.org/html/rfc5280#page-19
+       cert.set_serial_number(random.randint(0, pow(2, 16)))
+
+       cert.gmtime_adj_notBefore(0)
+       cert.gmtime_adj_notAfter(60 * 60)  # Valid 1 hour
+
+       k = crypto.PKey()
+       k.generate_key(crypto.TYPE_RSA, 2048)
+
+       cert.set_issuer(cert.get_subject())
+       cert.set_pubkey(k)
+       cert.set_version(2)
+
+       cert.sign(k, 'sha512')
+
+       certcontext = b"".join(
+               (
+                       crypto.dump_certificate(crypto.FILETYPE_PEM, cert),
+                       crypto.dump_privatekey(crypto.FILETYPE_PEM, k)
+               )
+       )
+
+       with open(path, "wt") as certfile:
+               certfile.write(certcontext.decode())
+
+       try:
+               with NamedTemporaryFile(mode="wb", delete=False) as randfile:
+                       randfile.write(randomBytes(512))
+
+                       command = u"openssl dhparam -rand {tempfile} 512 >> 
{target}".format(
+                               tempfile=randfile.name, target=path
+                       )
+               os.system(command)
+       finally:
+               os.remove(randfile.name)
+
+
+def randomBytes(length):
+       """
+       Return _length_ random bytes.
+
+       :rtype: bytes
+       """
+       if secrets:
+               return secrets.token_bytes(512)
+       else:
+               return os.urandom(512)
+
+
+if __name__ == '__main__':
+       parser = argparse.ArgumentParser(description='Create certificate for 
testing')
+       parser.add_argument('--cert', dest='cert', default="testcert.pem",
+                           help='Name of the certificate')
+
+       args = parser.parse_args()
+       createCertificate(args.cert)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/test/test_async.py 
new/pytest-tornado-0.8.1/test/test_async.py
--- old/pytest-tornado-0.8.0/test/test_async.py 1970-01-01 01:00:00.000000000 
+0100
+++ new/pytest-tornado-0.8.1/test/test_async.py 2020-06-17 13:06:32.000000000 
+0200
@@ -0,0 +1,89 @@
+import functools
+import pytest
+import tornado
+from tornado import gen
+from tornado.ioloop import TimeoutError
+
+
[email protected]
+def dummy_coroutine(io_loop):
+    yield gen.sleep(0)
+    raise gen.Return(True)
+
+
+def test_explicit_start_and_stop(io_loop):
+    future = dummy_coroutine(io_loop)
+    future.add_done_callback(lambda *args: io_loop.stop())
+    io_loop.start()
+    assert future.result()
+
+
+def test_run_sync(io_loop):
+    dummy = functools.partial(dummy_coroutine, io_loop)
+    finished = io_loop.run_sync(dummy)
+    assert finished
+
+
[email protected]_test
+def test_gen_test_sync(io_loop):
+    assert True
+
+
[email protected]_test
+def test_gen_test(io_loop):
+    result = yield dummy_coroutine(io_loop)
+    assert result
+
+
[email protected]_test(run_sync=False)
+def test_gen_test_run_sync_false(io_loop):
+    result = yield dummy_coroutine(io_loop)
+    assert result
+
+
[email protected]_test
+def test_gen_test_swallows_exceptions(io_loop):
+    with pytest.raises(ZeroDivisionError):
+        1 / 0
+
+
[email protected]_test
+def test_generator_raises(io_loop):
+    with pytest.raises(ZeroDivisionError):
+        yield gen.sleep(0)
+        1 / 0
+
+
[email protected]_test
+def test_explicit_gen_test_marker(request, io_loop):
+    yield gen.sleep(0)
+    assert 'gen_test' in request.keywords
+
+
[email protected]_test(timeout=2.1)
+def test_gen_test_marker_with_params(request, io_loop):
+    yield gen.sleep(0)
+    assert request.node.get_closest_marker('gen_test').kwargs['timeout'] == 2.1
+
+
[email protected](raises=TimeoutError)
[email protected]_test(timeout=0.1)
+def test_gen_test_with_timeout(io_loop):
+    yield gen.sleep(1)
+
+
+def test_sync_tests_no_gen_test_marker(request):
+    assert 'gen_test' not in request.keywords
+
+
+class TestClass:
+    @pytest.mark.gen_test
+    def test_gen_test(self, io_loop):
+        result = yield dummy_coroutine(io_loop)
+        assert result
+
+    @pytest.mark.gen_test
+    def test_generator_raises(self, io_loop):
+        with pytest.raises(ZeroDivisionError):
+            yield gen.sleep(0)
+            1 / 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/test/test_async_await.py 
new/pytest-tornado-0.8.1/test/test_async_await.py
--- old/pytest-tornado-0.8.0/test/test_async_await.py   1970-01-01 
01:00:00.000000000 +0100
+++ new/pytest-tornado-0.8.1/test/test_async_await.py   2020-06-17 
13:06:32.000000000 +0200
@@ -0,0 +1,18 @@
+import pytest
+from tornado import gen
+
+async def dummy_native_coroutine(io_loop):
+    await gen.sleep(0)
+    return True
+
+
[email protected]_test
+async def test_native_coroutine_gen_test(io_loop):
+    result = await dummy_native_coroutine(io_loop)
+    assert result
+
+
[email protected]_test(run_sync=False)
+async def test_native_coroutine_run_sync_false(io_loop):
+    result = await dummy_native_coroutine(io_loop)
+    assert result
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/test/test_fixtures.py 
new/pytest-tornado-0.8.1/test/test_fixtures.py
--- old/pytest-tornado-0.8.0/test/test_fixtures.py      1970-01-01 
01:00:00.000000000 +0100
+++ new/pytest-tornado-0.8.1/test/test_fixtures.py      2020-06-17 
13:06:32.000000000 +0200
@@ -0,0 +1,60 @@
+import pytest
+import sys
+from tornado import gen
+
+_used_fixture = False
+
+
[email protected]
+def dummy(io_loop):
+    yield gen.sleep(0)
+    raise gen.Return(True)
+
+
[email protected](scope='module')
+def preparations():
+    global _used_fixture
+    _used_fixture = True
+
+
+pytestmark = pytest.mark.usefixtures('preparations')
+
+
[email protected](pytest.__version__ < '2.7.0',
+                   reason='py.test 2.7 adds hookwrapper, fixes collection')
[email protected]_test
+def test_uses_pytestmark_fixtures(io_loop):
+    assert (yield dummy(io_loop))
+    assert _used_fixture
+
+class TestClass:
+    def beforeEach(self):
+        global _used_fixture
+        _used_fixture = False
+
+    @pytest.mark.gen_test
+    def test_uses_pytestmark_fixtures(self, io_loop):
+        assert (yield dummy(io_loop))
+        assert _used_fixture
+
+
[email protected](sys.version_info < (3, 5),
+                   reason='Type hints added in Python 3.5')
+def test_type_annotation(testdir):
+
+    testdir.makepyfile(
+        test_type_annotation="""
+            import pytest
+            from tornado.ioloop import IOLoop
+
+            @pytest.mark.gen_test
+            def test_type_attrib(io_loop: IOLoop):
+                pass  # Only check that gen_test works
+        """,
+    )
+
+    # Run tests
+    result = testdir.runpytest_inprocess()
+
+    # Check tests went off as they should:
+    assert result.ret == 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/test/test_https_support.py 
new/pytest-tornado-0.8.1/test/test_https_support.py
--- old/pytest-tornado-0.8.0/test/test_https_support.py 1970-01-01 
01:00:00.000000000 +0100
+++ new/pytest-tornado-0.8.1/test/test_https_support.py 2020-06-17 
13:06:32.000000000 +0200
@@ -0,0 +1,50 @@
+import os
+import ssl
+import pytest
+import tornado.web
+
+
+class MainHandler(tornado.web.RequestHandler):
+    def get(self):
+        self.write("Hello, world")
+
+
[email protected]
+def ssl_options():
+    cert_file = os.path.join(os.path.dirname(__file__), 'testcert.pem')
+    if not os.path.exists(cert_file):
+        pytest.skip("Missing cert file {!r}")
+    key_file = os.path.join(os.path.dirname(__file__), 'testcert.pem')
+    if not os.path.exists(key_file):
+        pytest.skip("Missing key file {!r}")
+
+    ssl_context = ssl.create_default_context(purpose=ssl.Purpose.CLIENT_AUTH, 
cafile=None, capath=None, cadata=None)
+    ssl_context.load_cert_chain(cert_file, keyfile=key_file)
+    return ssl_context
+
+
[email protected]
+def app():
+    return tornado.web.Application([
+        (r"/", MainHandler),
+    ])
+
+
[email protected]_test
+def test_hello_world(https_client, base_url):
+    response = yield https_client.fetch(base_url, validate_cert=False)
+    assert response.code == 200
+
+
+def test_base_url_is_https_with_https_client(https_client, base_url):
+    assert base_url.startswith('https://')
+
+
+
+def test_base_url_is_https_with_https_port(https_port, base_url):
+    assert base_url.startswith('https://')
+
+
+
+def test_base_url_is_https_with_https_server(https_server, base_url):
+    assert base_url.startswith('https://')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/test/test_param.py 
new/pytest-tornado-0.8.1/test/test_param.py
--- old/pytest-tornado-0.8.0/test/test_param.py 1970-01-01 01:00:00.000000000 
+0100
+++ new/pytest-tornado-0.8.1/test/test_param.py 2020-06-17 13:06:32.000000000 
+0200
@@ -0,0 +1,74 @@
+import pytest
+from tornado import gen
+
+DUMMY_PARAMS = ['f00', 'bar']
+
+
[email protected](params=DUMMY_PARAMS)
+def _dummy(request):
+    return request.param
+
+
[email protected]('input,expected', [
+    ('3+5', 8),
+    ('2+4', 6),
+])
+def test_eval(input, expected):
+    assert eval(input) == expected
+
+
[email protected]('input,expected', [
+    ('3+5', 8),
+    ('2+4', 6),
+    pytest.param("6*9", 42,
+                 marks=pytest.mark.xfail),
+])
+def test_eval_marking(input, expected):
+    assert eval(input) == expected
+
+
[email protected]('input,expected', [
+    ('3+5', 8),
+    ('2+4', 6),
+])
[email protected]_test
+def test_sync_eval_with_gen_test(input, expected):
+    assert eval(input) == expected
+
+
[email protected]('input,expected', [
+    ('3+5', 8),
+    ('2+4', 6),
+])
+def test_eval_with_fixtures(input, io_loop, expected):
+    assert eval(input) == expected
+
+
+def test_param_fixture(_dummy):
+    assert _dummy in DUMMY_PARAMS
+
+
[email protected]_test
[email protected]('input,expected', [
+    ('3+5', 8),
+    ('2+4', 6),
+])
+def test_gen_test_parametrize(io_loop, input, expected):
+    yield gen.sleep(0)
+    assert eval(input) == expected
+
+
[email protected]('input,expected', [
+    ('3+5', 8),
+    ('2+4', 6),
+])
[email protected]_test
+def test_gen_test_fixture_any_order(input, io_loop, expected):
+    yield gen.sleep(0)
+    assert eval(input) == expected
+
+
[email protected]_test
+def test_gen_test_param_fixture(io_loop, _dummy):
+    yield gen.sleep(0)
+    assert _dummy in DUMMY_PARAMS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-tornado-0.8.0/test/test_server.py 
new/pytest-tornado-0.8.1/test/test_server.py
--- old/pytest-tornado-0.8.0/test/test_server.py        1970-01-01 
01:00:00.000000000 +0100
+++ new/pytest-tornado-0.8.1/test/test_server.py        2020-06-17 
13:06:32.000000000 +0200
@@ -0,0 +1,74 @@
+import functools
+import pytest
+import tornado.ioloop
+import tornado.web
+
+
+class MainHandler(tornado.web.RequestHandler):
+    def get(self):
+        self.write('Hello, world')
+
+
+application = tornado.web.Application([
+    (r'/', MainHandler),
+    (r'/f00', MainHandler),
+])
+
+
[email protected](scope='module')
+def app():
+    return application
+
+
+def _fetch(http_client, url):
+    return http_client.io_loop.run_sync(
+        functools.partial(http_client.fetch, url))
+
+
+def test_http_server(http_server, io_loop):
+    status = {'done': False}
+
+    def _done():
+        status['done'] = True
+        io_loop.stop()
+
+    io_loop.add_callback(_done)
+    io_loop.start()
+
+    assert status['done']
+
+
+def test_http_client(http_client, base_url):
+    request = http_client.fetch(base_url)
+    request.add_done_callback(lambda future: http_client.io_loop.stop())
+    http_client.io_loop.start()
+
+    response = request.result()
+    assert response.code == 200
+
+
+def test_http_client_with_fetch_helper(http_client, base_url):
+    response = _fetch(http_client, base_url)
+    assert response.code == 200
+
+
[email protected]_test
+def test_http_client_with_gen_test(http_client, base_url):
+    response = yield http_client.fetch(base_url)
+    assert response.code == 200
+
+
[email protected]_test
+def test_get_url_with_path(http_client, base_url):
+    response = yield http_client.fetch('%s/f00' % base_url)
+    assert response.code == 200
+
+
[email protected]_test
+def test_http_client_raises_on_404(http_client, base_url):
+    with pytest.raises(tornado.httpclient.HTTPError):
+        yield http_client.fetch('%s/bar' % base_url)
+
+
+def test_base_url_default_is_http(base_url):
+    assert base_url.startswith('http://')
\ No newline at end of file


Reply via email to