Hello community,

here is the log from the commit of package python-pytest-remotedata for 
openSUSE:Factory checked in at 2019-02-25 17:51:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest-remotedata (Old)
 and      /work/SRC/openSUSE:Factory/.python-pytest-remotedata.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pytest-remotedata"

Mon Feb 25 17:51:31 2019 rev:2 rq:676357 version:0.3.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-pytest-remotedata/python-pytest-remotedata.changes
        2018-08-18 00:03:10.838910052 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pytest-remotedata.new.28833/python-pytest-remotedata.changes
     2019-02-25 17:51:32.630747027 +0100
@@ -1,0 +2,9 @@
+Fri Feb 15 09:20:39 UTC 2019 - Tomáš Chvátal <tchva...@suse.com>
+
+- Update to 0.3.1:
+  * Fix warnings that occur with pytest-3.7 and later. [#34]
+- Enable tests
+- Add patch from upstream to build with pytest-4.2+:
+  * pytest42.patch
+
+-------------------------------------------------------------------

Old:
----
  pytest-remotedata-0.3.0.tar.gz

New:
----
  pytest-remotedata-0.3.1.tar.gz
  pytest42.patch

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

Other differences:
------------------
++++++ python-pytest-remotedata.spec ++++++
--- /var/tmp/diff_new_pack.ogYm5x/_old  2019-02-25 17:51:34.998745738 +0100
+++ /var/tmp/diff_new_pack.ogYm5x/_new  2019-02-25 17:51:35.002745736 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-pytest-remotedata
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,20 +12,23 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
 
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-pytest-remotedata
-Version:        0.3.0
+Version:        0.3.1
 Release:        0
-License:        BSD-3-Clause
 Summary:        Pytest plugin for controlling remote data access
-Url:            https://github.com/astropy/pytest-remotedata
+License:        BSD-3-Clause
 Group:          Development/Languages/Python
+Url:            https://github.com/astropy/pytest-remotedata
 Source:         
https://files.pythonhosted.org/packages/source/p/pytest-remotedata/pytest-remotedata-%{version}.tar.gz
-BuildRequires:  %{python_module devel}
+Patch0:         pytest42.patch
+BuildRequires:  %{python_module pytest >= 3.1}
 BuildRequires:  %{python_module setuptools}
+BuildRequires:  %{python_module six}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 Requires:       python-pytest >= 3.1
@@ -40,6 +43,7 @@
 
 %prep
 %setup -q -n pytest-remotedata-%{version}
+%patch0 -p1
 
 %build
 %python_build
@@ -48,6 +52,10 @@
 %python_install
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
+%check
+# test_internet_access (test_default_behavior, test_strict_with_decorator) - 
needs network
+%python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} 
py.test-%{$python_bin_suffix} -v -k 'not (test_default_behavior or 
test_strict_with_decorator)'
+
 %files %{python_files}
 %doc CHANGES.rst README.rst
 %license LICENSE.rst

++++++ pytest-remotedata-0.3.0.tar.gz -> pytest-remotedata-0.3.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-remotedata-0.3.0/CHANGES.rst 
new/pytest-remotedata-0.3.1/CHANGES.rst
--- old/pytest-remotedata-0.3.0/CHANGES.rst     2018-05-29 22:28:36.000000000 
+0200
+++ new/pytest-remotedata-0.3.1/CHANGES.rst     2018-10-23 22:37:34.000000000 
+0200
@@ -1,3 +1,8 @@
+0.3.1 (2018-10-23)
+==================
+
+- Fix warnings that occur with ``pytest-3.7`` and later. [#34]
+
 0.3.0 (2018-05-29)
 ==================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-remotedata-0.3.0/MANIFEST.in 
new/pytest-remotedata-0.3.1/MANIFEST.in
--- old/pytest-remotedata-0.3.0/MANIFEST.in     2018-04-20 19:43:12.000000000 
+0200
+++ new/pytest-remotedata-0.3.1/MANIFEST.in     2018-09-21 16:09:51.000000000 
+0200
@@ -4,4 +4,6 @@
 
 include setup.cfg
 
+recursive-include tests *
+
 global-exclude *.pyc *.o
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-remotedata-0.3.0/PKG-INFO 
new/pytest-remotedata-0.3.1/PKG-INFO
--- old/pytest-remotedata-0.3.0/PKG-INFO        2018-05-29 22:28:52.000000000 
+0200
+++ new/pytest-remotedata-0.3.1/PKG-INFO        2018-10-23 22:41:56.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: pytest-remotedata
-Version: 0.3.0
+Version: 0.3.1
 Summary: Pytest plugin for controlling remote data access.
 Home-page: https://astropy.org
 Author: The Astropy Developers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-remotedata-0.3.0/pytest_remotedata/plugin.py 
new/pytest-remotedata-0.3.1/pytest_remotedata/plugin.py
--- old/pytest-remotedata-0.3.0/pytest_remotedata/plugin.py     2018-05-29 
22:28:36.000000000 +0200
+++ new/pytest-remotedata-0.3.1/pytest_remotedata/plugin.py     2018-10-23 
22:35:40.000000000 +0200
@@ -5,6 +5,7 @@
 """
 import pytest
 from .disable_internet import turn_off_internet, turn_on_internet
+from distutils.version import StrictVersion
 
 
 def pytest_addoption(parser):
@@ -61,8 +62,12 @@
 
 def pytest_runtest_setup(item):
 
-    remote_data = item.get_marker('remote_data')
-    internet_off = item.get_marker('internet_off')
+    if StrictVersion(pytest.__version__) < StrictVersion("3.6"):
+        remote_data = item.get_marker('remote_data')
+        internet_off = item.get_marker('internet_off')
+    else:
+        remote_data = item.get_closest_marker('remote_data')
+        internet_off = item.get_closest_marker('internet_off')
 
     remote_data_config = item.config.getvalue("remote_data")
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest-remotedata-0.3.0/pytest_remotedata.egg-info/PKG-INFO 
new/pytest-remotedata-0.3.1/pytest_remotedata.egg-info/PKG-INFO
--- old/pytest-remotedata-0.3.0/pytest_remotedata.egg-info/PKG-INFO     
2018-05-29 22:28:52.000000000 +0200
+++ new/pytest-remotedata-0.3.1/pytest_remotedata.egg-info/PKG-INFO     
2018-10-23 22:41:56.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: pytest-remotedata
-Version: 0.3.0
+Version: 0.3.1
 Summary: Pytest plugin for controlling remote data access.
 Home-page: https://astropy.org
 Author: The Astropy Developers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest-remotedata-0.3.0/pytest_remotedata.egg-info/SOURCES.txt 
new/pytest-remotedata-0.3.1/pytest_remotedata.egg-info/SOURCES.txt
--- old/pytest-remotedata-0.3.0/pytest_remotedata.egg-info/SOURCES.txt  
2018-05-29 22:28:52.000000000 +0200
+++ new/pytest-remotedata-0.3.1/pytest_remotedata.egg-info/SOURCES.txt  
2018-10-23 22:41:56.000000000 +0200
@@ -13,4 +13,9 @@
 pytest_remotedata.egg-info/entry_points.txt
 pytest_remotedata.egg-info/not-zip-safe
 pytest_remotedata.egg-info/requires.txt
-pytest_remotedata.egg-info/top_level.txt
\ No newline at end of file
+pytest_remotedata.egg-info/top_level.txt
+tests/__init__.py
+tests/conftest.py
+tests/test_skip_remote_data.py
+tests/test_socketblocker.py
+tests/test_strict_check.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-remotedata-0.3.0/setup.cfg 
new/pytest-remotedata-0.3.1/setup.cfg
--- old/pytest-remotedata-0.3.0/setup.cfg       2018-05-29 22:28:52.000000000 
+0200
+++ new/pytest-remotedata-0.3.1/setup.cfg       2018-10-23 22:41:56.000000000 
+0200
@@ -1,4 +1,4 @@
-[pytest]
+[tool:pytest]
 minversion = 3.1
 testpaths = tests
 remote_data_strict = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-remotedata-0.3.0/setup.py 
new/pytest-remotedata-0.3.1/setup.py
--- old/pytest-remotedata-0.3.0/setup.py        2018-05-29 22:28:36.000000000 
+0200
+++ new/pytest-remotedata-0.3.1/setup.py        2018-10-23 22:38:04.000000000 
+0200
@@ -19,7 +19,7 @@
 
 setup(
     name='pytest-remotedata',
-    version='0.3.0',
+    version='0.3.1',
     license='BSD',
     description='Pytest plugin for controlling remote data access.',
     long_description=readme(),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-remotedata-0.3.0/tests/__init__.py 
new/pytest-remotedata-0.3.1/tests/__init__.py
--- old/pytest-remotedata-0.3.0/tests/__init__.py       1970-01-01 
01:00:00.000000000 +0100
+++ new/pytest-remotedata-0.3.1/tests/__init__.py       2017-09-25 
17:17:16.000000000 +0200
@@ -0,0 +1,2 @@
+from __future__ import (absolute_import, division, print_function,
+                        unicode_literals)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-remotedata-0.3.0/tests/conftest.py 
new/pytest-remotedata-0.3.1/tests/conftest.py
--- old/pytest-remotedata-0.3.0/tests/conftest.py       1970-01-01 
01:00:00.000000000 +0100
+++ new/pytest-remotedata-0.3.1/tests/conftest.py       2017-11-10 
16:16:23.000000000 +0100
@@ -0,0 +1,2 @@
+# This enables the meta-testing of this plugin via the testdir fixture
+pytest_plugins = ['pytester']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest-remotedata-0.3.0/tests/test_skip_remote_data.py 
new/pytest-remotedata-0.3.1/tests/test_skip_remote_data.py
--- old/pytest-remotedata-0.3.0/tests/test_skip_remote_data.py  1970-01-01 
01:00:00.000000000 +0100
+++ new/pytest-remotedata-0.3.1/tests/test_skip_remote_data.py  2018-05-29 
21:27:36.000000000 +0200
@@ -0,0 +1,115 @@
+# Licensed under a 3-clause BSD style license - see LICENSE.rst
+# this test doesn't actually use any online data, it should just be skipped
+# by run_tests because it has the remote_data decorator.
+
+import pytest
+from contextlib import closing
+
+import six
+from six.moves.urllib.request import urlopen
+
+
+ASTROPY_DATA_URL = "http://data.astropy.org/";
+GITHUB_DATA_URL = "http://astropy.github.io/";
+EXTERNAL_URL = "http://www.google.com";
+TIMEOUT = 10
+
+if six.PY2:
+    _EXPECTED_ERROR = IOError
+else:
+    from six.moves.urllib.error import URLError
+    _EXPECTED_ERROR = URLError
+
+
+def download_file(remote_url):
+    with closing(urlopen(remote_url, timeout=TIMEOUT)) as remote:
+        remote.read()
+
+
+@pytest.mark.remote_data
+def test_skip_remote_data(pytestconfig):
+
+    # astropy.test() has remote_data=none or remote_data=astropy but we still
+    # got here somehow, so fail with a helpful message
+
+    if pytestconfig.getoption('remote_data') == 'none':
+        pytest.fail('@remote_data was not skipped with remote_data=none')
+    elif pytestconfig.getoption('remote_data') == 'astropy':
+        pytest.fail('@remote_data was not skipped with remote_data=astropy')
+    elif pytestconfig.getoption('remote_data') == 'github':
+        pytest.fail('@remote_data was not skipped with remote_data=github')
+
+    # Test Astropy URL
+    download_file(ASTROPY_DATA_URL + 'galactic_center/gc_2mass_k.fits')
+
+    # Test GitHub URL
+    download_file(GITHUB_DATA_URL)
+
+    # Test unrelated URL
+    download_file(EXTERNAL_URL)
+
+
+@pytest.mark.remote_data(source='astropy')
+def test_skip_remote_data_astropy(pytestconfig):
+
+    # astropy.test() has remote_data=none but we still got here somehow,
+    # so fail with a helpful message
+
+    if pytestconfig.getoption('remote_data') in ('none', 'github'):
+        pytest.fail('@remote_data was not skipped with remote_data=none'
+                    'or remote_data=github')
+
+    # Test Astropy URL
+    download_file(ASTROPY_DATA_URL + 'galactic_center/gc_2mass_k.fits')
+
+    # Test non-Astropy URL
+    if pytestconfig.getoption('remote_data') == 'astropy':
+        with pytest.raises(Exception) as exc:
+            download_file(EXTERNAL_URL)
+        assert "An attempt was made to connect to the internet" in 
str(exc.value)  # noqa
+    else:  # remote_data=any
+        download_file(EXTERNAL_URL)
+
+
+@pytest.mark.remote_data(source='github')
+def test_skip_remote_data_github(pytestconfig):
+    if pytestconfig.getoption('remote_data') == 'none':
+        pytest.fail('@remote_data was not skipped with remote_data=none')
+
+    # Test GitHub URL
+    download_file(GITHUB_DATA_URL)
+
+    # Test non-GitHub URL
+    if pytestconfig.getoption('remote_data') == 'github':
+        with pytest.raises(Exception) as exc:
+            download_file(ASTROPY_DATA_URL)
+        assert "An attempt was made to connect to the internet" in 
str(exc.value)
+    else:  # remote_data=any or remote_data=astropy
+        download_file(ASTROPY_DATA_URL)
+
+
+@pytest.mark.internet_off
+def test_internet_off_decorator(pytestconfig):
+    # This test should only run when internet access has been disabled
+    if pytestconfig.getoption('remote_data') != 'none':
+        pytest.fail('@internet_off test ran when remote_data!=none')
+
+
+def test_block_internet_connection(pytestconfig):
+    if pytestconfig.getoption('remote_data') == 'none':
+        with pytest.raises(_EXPECTED_ERROR):
+            download_file(EXTERNAL_URL)
+    elif pytestconfig.getoption('remote_data') == 'astropy':
+        with pytest.raises(_EXPECTED_ERROR):
+            download_file(EXTERNAL_URL)
+    elif pytestconfig.getoption('remote_data') == 'github':
+        with pytest.raises(_EXPECTED_ERROR):
+            download_file(EXTERNAL_URL)
+    else:
+        download_file(EXTERNAL_URL)
+
+
+@pytest.mark.internet_off
+def test_block_internet_connection_internet_off():
+    with pytest.raises(_EXPECTED_ERROR):
+        download_file(EXTERNAL_URL)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-remotedata-0.3.0/tests/test_socketblocker.py 
new/pytest-remotedata-0.3.1/tests/test_socketblocker.py
--- old/pytest-remotedata-0.3.0/tests/test_socketblocker.py     1970-01-01 
01:00:00.000000000 +0100
+++ new/pytest-remotedata-0.3.1/tests/test_socketblocker.py     2017-11-10 
14:30:22.000000000 +0100
@@ -0,0 +1,86 @@
+# Licensed under a 3-clause BSD style license - see LICENSE.rst
+import sys
+import time
+
+from threading import Thread
+
+from six.moves import BaseHTTPServer, SimpleHTTPServer
+from six.moves.urllib.request import urlopen
+
+import pytest
+
+from pytest_remotedata.disable_internet import no_internet
+
+
+def test_outgoing_fails():
+    with pytest.raises(IOError):
+        with no_internet():
+            urlopen('http://www.python.org')
+
+
+class StoppableHTTPServer(BaseHTTPServer.HTTPServer, object):
+    def __init__(self, *args):
+        super(StoppableHTTPServer, self).__init__(*args)
+        self.stop = False
+
+    def handle_request(self):
+        self.stop = True
+        super(StoppableHTTPServer, self).handle_request()
+
+    def serve_forever(self):
+        """
+        Serve until stop set, which will happen if any request is handled
+        """
+        while not self.stop:
+            self.handle_request()
+
+
+@pytest.mark.parametrize(('localhost'), ('localhost', '127.0.0.1'))
+def test_localconnect_succeeds(localhost):
+    """
+    Ensure that connections to localhost are allowed, since these are genuinely
+    not remotedata.
+    """
+
+    # port "0" means find open port
+    # see 
http://stackoverflow.com/questions/1365265/on-localhost-how-to-pick-a-free-port-number
+    httpd = StoppableHTTPServer(('localhost', 0),
+                                SimpleHTTPServer.SimpleHTTPRequestHandler)
+
+    port = httpd.socket.getsockname()[1]
+
+    server = Thread(target=httpd.serve_forever)
+    server.setDaemon(True)
+
+    server.start()
+    time.sleep(0.1)
+
+    urlopen('http://{localhost:s}:{port:d}'.format(localhost=localhost, 
port=port)).close()
+
+
+PY3_4 = sys.version_info[:2] >= (3, 4)
+
+
+# Used for the below test--inline functions aren't pickleable
+# by multiprocessing?
+def _square(x):
+    return x ** 2
+
+
+@pytest.mark.skipif('not PY3_4 or sys.platform == "win32" or 
sys.platform.startswith("gnu0")')
+def test_multiprocessing_forkserver():
+    """
+    Test that using multiprocessing with forkserver works.  Perhaps
+    a simpler more direct test would be to just open some local
+    sockets and pass something through them.
+
+    Regression test for https://github.com/astropy/astropy/pull/3713
+    """
+
+    import multiprocessing
+    ctx = multiprocessing.get_context('forkserver')
+    pool = ctx.Pool(1)
+    result = pool.map(_square, [1, 2, 3, 4, 5])
+    pool.close()
+    pool.join()
+    assert result == [1, 4, 9, 16, 25]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-remotedata-0.3.0/tests/test_strict_check.py 
new/pytest-remotedata-0.3.1/tests/test_strict_check.py
--- old/pytest-remotedata-0.3.0/tests/test_strict_check.py      1970-01-01 
01:00:00.000000000 +0100
+++ new/pytest-remotedata-0.3.1/tests/test_strict_check.py      2017-11-10 
16:16:23.000000000 +0100
@@ -0,0 +1,65 @@
+# Licensed under a 3-clause BSD style license - see LICENSE.rst
+
+import os
+import pytest
+
+PYFILE_CONTENTS = """
+    import pytest
+    from six.moves.urllib.request import urlopen
+
+    def test_config_setting(pytestconfig):
+        assert pytestconfig.getini('remote_data_strict') == {}
+
+    {}
+    def test_internet_access():
+        urlopen('http://astropy.org')
+    """
+
+def _write_config_file(testdir, entry):
+    config = testdir.tmpdir.join('setup.cfg')
+    config.write("""
+[pytest]
+{}
+        """.format(entry))
+
+    # Just a sanity check to make sure we actually write the config file
+    assert os.path.exists(str(testdir.tmpdir.join('setup.cfg')))
+
+
+def test_local_config(pytestconfig):
+    assert pytestconfig.getini('remote_data_strict') == True
+
+
+def test_default_behavior(testdir):
+    _write_config_file(testdir, '')
+
+    testdir.makepyfile(PYFILE_CONTENTS.format('False', ''))
+
+    result = testdir.runpytest_subprocess()
+    result.assert_outcomes(passed=2)
+
+
+def test_strict_behavior(testdir):
+    _write_config_file(testdir, 'remote_data_strict = true')
+
+    testdir.makepyfile(PYFILE_CONTENTS.format('True', ''))
+
+    result = testdir.runpytest_subprocess()
+    result.assert_outcomes(passed=1, failed=1)
+
+
+@pytest.mark.parametrize('source', ['none', 'any'])
+def test_strict_with_decorator(testdir, source):
+    _write_config_file(testdir, 'remote_data_strict = true')
+
+    decorator = '@pytest.mark.remote_data'
+    testdir.makepyfile(PYFILE_CONTENTS.format('True', decorator))
+
+    clarg = '--remote-data=' + source
+    result = testdir.runpytest_subprocess(clarg)
+
+    if source == 'none':
+        outcomes = dict(passed=1, skipped=1)
+    else:
+        outcomes = dict(passed=2)
+    result.assert_outcomes(**outcomes)

++++++ pytest42.patch ++++++
>From b395fca12d392e433b19844d14d014a481ff52fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tomas.chva...@gmail.com>
Date: Fri, 15 Feb 2019 10:26:59 +0100
Subject: [PATCH] Use [tool:pytest] to fix build on pytest 4.2

[pytest] marking is deprecated and errors out on 4.2+ version.
---
 tests/test_strict_check.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/test_strict_check.py b/tests/test_strict_check.py
index 79b6073..8527c25 100644
--- a/tests/test_strict_check.py
+++ b/tests/test_strict_check.py
@@ -18,7 +18,7 @@ def test_internet_access():
 def _write_config_file(testdir, entry):
     config = testdir.tmpdir.join('setup.cfg')
     config.write("""
-[pytest]
+[tool:pytest]
 {}
         """.format(entry))
 

Reply via email to