Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-pytest-remotedata for openSUSE:Factory checked in at 2022-08-15 19:58:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pytest-remotedata (Old) and /work/SRC/openSUSE:Factory/.python-pytest-remotedata.new.1521 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytest-remotedata" Mon Aug 15 19:58:37 2022 rev:4 rq:995144 version:0.3.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pytest-remotedata/python-pytest-remotedata.changes 2019-07-22 12:21:46.391642598 +0200 +++ /work/SRC/openSUSE:Factory/.python-pytest-remotedata.new.1521/python-pytest-remotedata.changes 2022-08-15 20:00:48.693493634 +0200 @@ -1,0 +2,8 @@ +Thu Aug 11 10:42:42 UTC 2022 - Ben Greiner <c...@bnavigator.de> + +- Update to 0.3.3 + * Various infrastructure and packaging updates. +- Includes a fix for warnings with distutils hijacked by + setuptools 60+ + +------------------------------------------------------------------- Old: ---- pytest-remotedata-0.3.2.tar.gz New: ---- pytest-remotedata-0.3.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pytest-remotedata.spec ++++++ --- /var/tmp/diff_new_pack.vJDYUp/_old 2022-08-15 20:00:49.293495307 +0200 +++ /var/tmp/diff_new_pack.vJDYUp/_new 2022-08-15 20:00:49.301495329 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-pytest-remotedata # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,22 +16,24 @@ # -%{?!python_module:%define python_module() python-%{**} python3-%{**}} +%{?!python_module:%define python_module() python3-%{**}} +%define skip_python2 1 Name: python-pytest-remotedata -Version: 0.3.2 +Version: 0.3.3 Release: 0 Summary: Pytest plugin for controlling remote data access 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 pytest >= 3.1} +BuildRequires: %{python_module packaging} +BuildRequires: %{python_module pytest >= 4.6} +BuildRequires: %{python_module setuptools_scm} BuildRequires: %{python_module setuptools} -BuildRequires: %{python_module six} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python-pytest >= 3.1 -Requires: python-six +Requires: python-packaging +Requires: python-pytest >= 4.6 BuildArch: noarch %python_subpackages ++++++ pytest-remotedata-0.3.2.tar.gz -> pytest-remotedata-0.3.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/.github/workflows/publish.yml new/pytest-remotedata-0.3.3/.github/workflows/publish.yml --- old/pytest-remotedata-0.3.2/.github/workflows/publish.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/pytest-remotedata-0.3.3/.github/workflows/publish.yml 2021-12-21 23:23:05.000000000 +0100 @@ -0,0 +1,47 @@ +name: Release + +on: + pull_request: + push: + tags: + - '*' + +jobs: + build-n-publish: + name: Build and publish Python ???? distributions ???? to PyPI + runs-on: ubuntu-latest + if: ((github.event_name == 'push' && startsWith(github.ref, 'refs/tags')) || contains(github.event.pull_request.labels.*.name, 'Build wheels')) + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - uses: actions/setup-python@v2 + with: + python-version: 3.8 + + - name: Install python-build and twine + run: python -m pip install pip build "twine>=3.3" -U + + - name: Build package + run: python -m build --sdist --wheel . + + - name: List result + run: ls -l dist + + - name: Check long_description + run: python -m twine check --strict dist/* + + - name: Test package + run: | + cd .. + python -m venv testenv + testenv/bin/pip install pytest pytest-remotedata/dist/*.whl + testenv/bin/pytest pytest-remotedata/tests --remote-data + + - name: Publish distribution ???? to PyPI + if: startsWith(github.ref, 'refs/tags') + uses: pypa/gh-action-pypi-publish@release/v1 + with: + user: __token__ + password: ${{ secrets.pypi_password }} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/.github/workflows/python-tests.yml new/pytest-remotedata-0.3.3/.github/workflows/python-tests.yml --- old/pytest-remotedata-0.3.2/.github/workflows/python-tests.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/pytest-remotedata-0.3.3/.github/workflows/python-tests.yml 2021-12-21 23:23:05.000000000 +0100 @@ -0,0 +1,64 @@ +name: Run unit tests + +on: + pull_request: + push: + branches: [ main ] + tags: + workflow_dispatch: + schedule: + # Run every Sunday at 03:53 UTC + - cron: 53 3 * * 0 + +jobs: + tests: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - os: ubuntu-latest + python-version: 3.6 + toxenv: py36-test-pytest46 + - os: windows-latest + python-version: 3.6 + toxenv: py36-test-pytest50 + - os: macos-latest + python-version: 3.7 + toxenv: py37-test-pytest51 + - os: ubuntu-latest + python-version: 3.7 + toxenv: py37-test-pytest52 + - os: windows-latest + python-version: 3.8 + toxenv: py38-test-pytest53 + - os: ubuntu-latest + python-version: 3.8 + toxenv: py38-test-pytest60 + - os: ubuntu-latest + python-version: 3.9 + toxenv: py39-test-pytest61 + - os: macos-latest + python-version: 3.8 + toxenv: py38-test-pytestdev + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install Tox + run: python -m pip install tox + - name: Run Tox + run: tox -v -e ${{ matrix.toxenv }} + + # - name: Slack Notification + # uses: 8398a7/action-slack@v3 + # with: + # status: ${{ job.status }} + # env: + # SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} + # if: always() # TODO: cron diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/.gitignore new/pytest-remotedata-0.3.3/.gitignore --- old/pytest-remotedata-0.3.2/.gitignore 2019-07-20 16:01:53.000000000 +0200 +++ new/pytest-remotedata-0.3.3/.gitignore 2021-12-21 23:23:05.000000000 +0100 @@ -53,3 +53,6 @@ # PyCharm .idea + +pytest_remotedata/version.py +pip-wheel-metadata/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/.travis.yml new/pytest-remotedata-0.3.3/.travis.yml --- old/pytest-remotedata-0.3.2/.travis.yml 2019-07-20 16:04:01.000000000 +0200 +++ new/pytest-remotedata-0.3.3/.travis.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,49 +0,0 @@ -# We set the language to c because python isn't supported on the MacOS X nodes -# on Travis. However, the language ends up being irrelevant anyway, since we -# install Python ourselves using conda. -language: c - -os: - - linux - -# Use Travis' container-based architecture -sudo: false - -env: - global: - # The following versions are the 'default' for tests, unless - # overidden underneath. They are defined here in order to save having - # to repeat them for all configurations. - - PYTHON_VERSION=3.6 - - PYTEST_VERSION=4.6 - - PYTEST_COMMAND='pytest' - - NUMPY_VERSION=stable - - CONDA_DEPENDENCIES='six' - - matrix: - - PYTHON_VERSION=2.7 PYTEST_VERSION=3.1 PYTEST_COMMAND='py.test' - - PYTHON_VERSION=2.7 - - PYTHON_VERSION=3.5 - - PYTHON_VERSION=3.6 PYTEST_VERSION=3.4 - - PYTHON_VERSION=3.6 PYTEST_VERSION=4.5 - - PYTHON_VERSION=3.6 - - PYTHON_VERSION=3.7 PYTEST_VERSION=5.0 - -matrix: - include: - # Try a run on OSX with latest versions of python and pytest - - os: osx - env: PYTHON_VERSION=3.7 PYTEST_VERSION=3.7 - -install: - - git clone git://github.com/astropy/ci-helpers.git - - source ci-helpers/travis/setup_conda.sh - - python ./setup.py install - -script: - - $PYTEST_COMMAND - - $PYTEST_COMMAND --remote-data - - $PYTEST_COMMAND --remote-data=none - - $PYTEST_COMMAND --remote-data=github - - $PYTEST_COMMAND --remote-data=astropy - - $PYTEST_COMMAND --remote-data=any diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/CHANGES.rst new/pytest-remotedata-0.3.3/CHANGES.rst --- old/pytest-remotedata-0.3.2/CHANGES.rst 2019-07-20 16:05:35.000000000 +0200 +++ new/pytest-remotedata-0.3.3/CHANGES.rst 2021-12-21 23:23:05.000000000 +0100 @@ -1,3 +1,9 @@ +0.3.3 (2021-12-21) +================== + +- Various infrastructure and packaging updates. If you have trouble + installing an older version, try upgrading to this one. + 0.3.2 (2019-07-20) ================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/PKG-INFO new/pytest-remotedata-0.3.3/PKG-INFO --- old/pytest-remotedata-0.3.2/PKG-INFO 2019-07-20 16:17:30.000000000 +0200 +++ new/pytest-remotedata-0.3.3/PKG-INFO 2021-12-21 23:23:19.803421700 +0100 @@ -1,127 +1,11 @@ -Metadata-Version: 1.2 +Metadata-Version: 2.1 Name: pytest-remotedata -Version: 0.3.2 +Version: 0.3.3 Summary: Pytest plugin for controlling remote data access. -Home-page: https://astropy.org +Home-page: https://github.com/astropy/pytest-remotedata Author: The Astropy Developers Author-email: astropy.t...@gmail.com License: BSD -Description: ================= - pytest-remotedata - ================= - - This package provides a plugin for the `pytest`_ framework that allows - developers to control unit tests that require access to data from the internet. - It was originally part of the `astropy`_ core package, but has been moved to a - separate package in order to be of more general use. - - .. _pytest: https://pytest.org/en/latest/ - .. _astropy: https://astropy.org/en/latest/ - - - Motivation - ---------- - - Many software packages provide features that require access to data from the - internet. These features need to be tested, but unit tests that access the - internet can dominate the overall runtime of a test suite. - - The ``pytest-remotedata`` plugin allows developers to indicate which unit tests - require access to the internet, and to control when and whether such tests - should execute as part of any given run of the test suite. - - Installation - ------------ - - The ``pytest-remotedata`` plugin can be installed using ``pip``:: - - $ pip install pytest-remotedata - - It is also possible to install the latest development version from the source - repository:: - - $ git clone https://github.com/astropy/pytest-remotedata - $ cd pytest-remotedata - $ python ./setup.py install - - In either case, the plugin will automatically be registered for use with - ``pytest``. - - Usage - ----- - - Installing this plugin makes two decorators available for use with ``pytest``: - - * ``remote_data`` for marking tests that require data from the internet - * ``internet_off`` for marking tests that should run only when internet access - is disabled - - These decorators can be used to mark test functions, methods, and classes using - ``@pytest.mark``. For example, consider the following test function that - requires access to data from the internet: - - .. code-block:: python - - import pytest - from urllib.request import urlopen - - @pytest.mark.remote_data - def test_remote_data(): - urlopen('https://astropy.org') - - Marking the ``test_remote_data`` function with ``@pytest.mark.remote_data`` - indicates to ``pytest`` that this test should be run only when access to remote - data sources is explicitly requested. - - When this plugin is installed, the ``--remote-data`` command line option is - added to the ``pytest`` command line interface. - - The default behavior is to skip tests that are marked with ``remote_data``. - If the ``--remote-data`` option is not provided to the ``pytest`` command, or - if ``--remote-data=none`` is provided, all tests that are marked with - ``remote_data`` will be skipped. All tests that are marked with - ``internet_off`` will be executed. - - Sometimes it is useful to check that certain tests do not unexpectedly access - the internet. Strict remote data access checking can be enabled by setting - ``remote_data_strict = true`` in the tested package's ``setup.cfg`` file. If - this option is enabled, any test that attempts to access the network but is not - marked with ``@pytest.mark.remote_data`` will fail. - - - Providing either the ``--remote-data`` option, or ``--remote-data=any`` to the - ``pytest`` command line interface will cause all tests that are marked with - ``remote-data`` to execute. Any tests that are marked with ``internet_off`` - will be skipped. - - Running the tests with ``--remote-data=astropy`` will cause only tests that - receive remote data from Astropy data sources to be run. Tests with any other - data sources will be skipped. This is indicated in the test code by marking - test functions with ``@pytest.mark.remote_data(source='astropy')``. - - In the future, we intend to support a configurable way to indicate specific - remote data sources in addition to ``astropy``. - - Development Status - ------------------ - - .. image:: https://travis-ci.org/astropy/pytest-remotedata.svg - :target: https://travis-ci.org/astropy/pytest-remotedata - :alt: Travis CI Status - - .. image:: https://ci.appveyor.com/api/projects/status/ym7lxajcs5qwm31e/branch/master?svg=true - :target: https://ci.appveyor.com/project/Astropy/pytest-remotedata/branch/master - :alt: Appveyor Status - - Questions, bug reports, and feature requests can be submitted on `github`_. - - .. _github: https://github.com/astropy/pytest-remotedata - - License - ------- - This plugin is licensed under a 3-clause BSD style license - see the - ``LICENSE.rst`` file. - Keywords: remote,data,pytest,py.test Platform: UNKNOWN Classifier: Development Status :: 3 - Alpha @@ -130,13 +14,128 @@ Classifier: License :: OSI Approved :: BSD License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Topic :: Software Development :: Testing Classifier: Topic :: Utilities -Requires-Python: >=2.7 +Requires-Python: >=3.6 +Description-Content-Type: text/x-rst +License-File: LICENSE.rst + +================= +pytest-remotedata +================= + +.. image:: https://github.com/astropy/pytest-remotedata/workflows/Run%20unit%20tests/badge.svg + :target: https://github.com/astropy/pytest-remotedata/actions + :alt: CI Status + +This package provides a plugin for the `pytest`_ framework that allows +developers to control unit tests that require access to data from the internet. +It was originally part of the `astropy`_ core package, but has been moved to a +separate package in order to be of more general use. + +.. _pytest: https://pytest.org/en/latest/ +.. _astropy: https://astropy.org/ + + +Motivation +---------- + +Many software packages provide features that require access to data from the +internet. These features need to be tested, but unit tests that access the +internet can dominate the overall runtime of a test suite. + +The ``pytest-remotedata`` plugin allows developers to indicate which unit tests +require access to the internet, and to control when and whether such tests +should execute as part of any given run of the test suite. + +Installation +------------ + +The ``pytest-remotedata`` plugin can be installed using ``pip``:: + + $ pip install pytest-remotedata + +It is also possible to install the latest development version from the source +repository:: + + $ git clone https://github.com/astropy/pytest-remotedata + $ cd pytest-remotedata + $ pip install . + +In either case, the plugin will automatically be registered for use with +``pytest``. + +Usage +----- + +Installing this plugin makes two decorators available for use with ``pytest``: + +* ``remote_data`` for marking tests that require data from the internet +* ``internet_off`` for marking tests that should run only when internet access + is disabled + +These decorators can be used to mark test functions, methods, and classes using +``@pytest.mark``. For example, consider the following test function that +requires access to data from the internet: + +.. code-block:: python + + import pytest + from urllib.request import urlopen + + @pytest.mark.remote_data + def test_remote_data(): + urlopen('https://astropy.org') + +Marking the ``test_remote_data`` function with ``@pytest.mark.remote_data`` +indicates to ``pytest`` that this test should be run only when access to remote +data sources is explicitly requested. + +When this plugin is installed, the ``--remote-data`` command line option is +added to the ``pytest`` command line interface. + +The default behavior is to skip tests that are marked with ``remote_data``. +If the ``--remote-data`` option is not provided to the ``pytest`` command, or +if ``--remote-data=none`` is provided, all tests that are marked with +``remote_data`` will be skipped. All tests that are marked with +``internet_off`` will be executed. + +Sometimes it is useful to check that certain tests do not unexpectedly access +the internet. Strict remote data access checking can be enabled by setting +``remote_data_strict = true`` in the tested package's ``setup.cfg`` file. If +this option is enabled, any test that attempts to access the network but is not +marked with ``@pytest.mark.remote_data`` will fail. + + +Providing either the ``--remote-data`` option, or ``--remote-data=any`` to the +``pytest`` command line interface will cause all tests that are marked with +``remote-data`` to execute. Any tests that are marked with ``internet_off`` +will be skipped. + +Running the tests with ``--remote-data=astropy`` will cause only tests that +receive remote data from Astropy data sources to be run. Tests with any other +data sources will be skipped. This is indicated in the test code by marking +test functions with ``@pytest.mark.remote_data(source='astropy')``. + +In the future, we intend to support a configurable way to indicate specific +remote data sources in addition to ``astropy``. + +Development Status +------------------ + +Questions, bug reports, and feature requests can be submitted on `github`_. + +.. _github: https://github.com/astropy/pytest-remotedata + +License +------- +This plugin is licensed under a 3-clause BSD style license - see the +``LICENSE.rst`` file. + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/README.rst new/pytest-remotedata-0.3.3/README.rst --- old/pytest-remotedata-0.3.2/README.rst 2019-07-20 15:14:24.000000000 +0200 +++ new/pytest-remotedata-0.3.3/README.rst 2021-12-21 23:23:05.000000000 +0100 @@ -2,13 +2,17 @@ pytest-remotedata ================= +.. image:: https://github.com/astropy/pytest-remotedata/workflows/Run%20unit%20tests/badge.svg + :target: https://github.com/astropy/pytest-remotedata/actions + :alt: CI Status + This package provides a plugin for the `pytest`_ framework that allows developers to control unit tests that require access to data from the internet. It was originally part of the `astropy`_ core package, but has been moved to a separate package in order to be of more general use. .. _pytest: https://pytest.org/en/latest/ -.. _astropy: https://astropy.org/en/latest/ +.. _astropy: https://astropy.org/ Motivation @@ -34,7 +38,7 @@ $ git clone https://github.com/astropy/pytest-remotedata $ cd pytest-remotedata - $ python ./setup.py install + $ pip install . In either case, the plugin will automatically be registered for use with ``pytest``. @@ -97,14 +101,6 @@ Development Status ------------------ -.. image:: https://travis-ci.org/astropy/pytest-remotedata.svg - :target: https://travis-ci.org/astropy/pytest-remotedata - :alt: Travis CI Status - -.. image:: https://ci.appveyor.com/api/projects/status/ym7lxajcs5qwm31e/branch/master?svg=true - :target: https://ci.appveyor.com/project/Astropy/pytest-remotedata/branch/master - :alt: Appveyor Status - Questions, bug reports, and feature requests can be submitted on `github`_. .. _github: https://github.com/astropy/pytest-remotedata diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/appveyor.yml new/pytest-remotedata-0.3.3/appveyor.yml --- old/pytest-remotedata-0.3.2/appveyor.yml 2019-07-20 16:04:01.000000000 +0200 +++ new/pytest-remotedata-0.3.3/appveyor.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,59 +0,0 @@ -# AppVeyor.com is a Continuous Integration service to build and run tests under -# Windows - -environment: - - global: - PYTHON: "C:\\conda" - MINICONDA_VERSION: "latest" - CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\ci-helpers\\appveyor\\windows_sdk.cmd" - PYTEST_COMMAND: "pytest" - NUMPY_VERSION: "stable" - CONDA_DEPENDENCIES: "six" - PYTHON_ARCH: "64" - - matrix: - - PYTHON_VERSION: "2.7" - PYTEST_VESION: "3.1" - PYTEST_COMMAND: "py.test" - platform: x86 - - - PYTHON_VERSION: "2.7" - platform: x64 - - - PYTHON_VERSION: "3.5" - NUMPY_VERSION: "1.15" - platform: x64 - - - PYTHON_VERSION: "3.6" - PYTEST_VERSION: "3.4" - platform: x64 - - - PYTHON_VERSION: "3.6" - PYTEST_VERSION: "4.1" - platform: x64 - - - PYTHON_VERSION: "3.6" - platform: x64 - - - PYTHON_VERSION: "3.7" - PYTEST_VERSION: "5.0" - platform: x64 - -install: - - "git clone git://github.com/astropy/ci-helpers.git" - - "powershell ci-helpers/appveyor/install-miniconda.ps1" - - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" - - "activate test" - - "%CMD_IN_ENV% python setup.py install" - -# Not a .NET project -build: false - -test_script: - - "%CMD_IN_ENV% %PYTEST_COMMAND%" - - "%CMD_IN_ENV% %PYTEST_COMMAND% --remote-data" - - "%CMD_IN_ENV% %PYTEST_COMMAND% --remote-data=none" - - "%CMD_IN_ENV% %PYTEST_COMMAND% --remote-data=github" - - "%CMD_IN_ENV% %PYTEST_COMMAND% --remote-data=astropy" - - "%CMD_IN_ENV% %PYTEST_COMMAND% --remote-data=any" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/pyproject.toml new/pytest-remotedata-0.3.3/pyproject.toml --- old/pytest-remotedata-0.3.2/pyproject.toml 1970-01-01 01:00:00.000000000 +0100 +++ new/pytest-remotedata-0.3.3/pyproject.toml 2021-12-21 23:23:05.000000000 +0100 @@ -0,0 +1,5 @@ +[build-system] +requires = ["setuptools>=30.3.0", + "setuptools_scm", + "wheel"] +build-backend = 'setuptools.build_meta' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/pytest_remotedata/__init__.py new/pytest-remotedata-0.3.3/pytest_remotedata/__init__.py --- old/pytest-remotedata-0.3.2/pytest_remotedata/__init__.py 2019-07-20 15:14:24.000000000 +0200 +++ new/pytest-remotedata-0.3.3/pytest_remotedata/__init__.py 2021-12-21 23:23:05.000000000 +0100 @@ -1,4 +1,3 @@ # Licensed under a 3-clause BSD style license - see LICENSE.rst -""" -This package contains pytest plugins that are used by the astropy test suite. -""" + +from .version import version as __version__ # noqa diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/pytest_remotedata/disable_internet.py new/pytest-remotedata-0.3.3/pytest_remotedata/disable_internet.py --- old/pytest-remotedata-0.3.2/pytest_remotedata/disable_internet.py 2019-07-20 15:14:24.000000000 +0200 +++ new/pytest-remotedata-0.3.3/pytest_remotedata/disable_internet.py 2021-12-21 23:23:05.000000000 +0100 @@ -1,8 +1,7 @@ # Licensed under a 3-clause BSD style license - see LICENSE.rst import contextlib import socket - -from six.moves import urllib +import urllib.request # save original socket method for restoration # These are global so that re-calling the turn_off_internet function doesn't diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/pytest_remotedata/plugin.py new/pytest-remotedata-0.3.3/pytest_remotedata/plugin.py --- old/pytest-remotedata-0.3.2/pytest_remotedata/plugin.py 2019-07-20 16:04:01.000000000 +0200 +++ new/pytest-remotedata-0.3.3/pytest_remotedata/plugin.py 2021-12-21 23:23:05.000000000 +0100 @@ -4,8 +4,9 @@ make use of online data. """ import pytest +from packaging.version import Version + from .disable_internet import turn_off_internet, turn_on_internet -from distutils.version import LooseVersion def pytest_addoption(parser): @@ -34,9 +35,11 @@ strict_check = bool(config.getini('remote_data_strict')) remote_data = config.getoption('remote_data') - if remote_data not in ['astropy', 'any', 'github', 'none']: + options = ['astropy', 'any', 'github', 'none'] + if remote_data not in options: raise pytest.UsageError( - "'{}' is not a valid source for remote data".format(remote_data)) + "'{}' is not a valid source for remote data, " + "use one of '{}'".format(remote_data, "', '".join(options))) # Monkeypatch to deny access to remote resources unless explicitly told # otherwise @@ -62,7 +65,7 @@ def pytest_runtest_setup(item): - if LooseVersion(pytest.__version__) < LooseVersion("3.6"): + if Version(pytest.__version__) < Version("3.6"): remote_data = item.get_marker('remote_data') internet_off = item.get_marker('internet_off') else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/pytest_remotedata/version.py new/pytest-remotedata-0.3.3/pytest_remotedata/version.py --- old/pytest-remotedata-0.3.2/pytest_remotedata/version.py 1970-01-01 01:00:00.000000000 +0100 +++ new/pytest-remotedata-0.3.3/pytest_remotedata/version.py 2021-12-21 23:23:19.000000000 +0100 @@ -0,0 +1,5 @@ +# coding: utf-8 +# file generated by setuptools_scm +# don't change, don't track in version control +version = '0.3.3' +version_tuple = (0, 3, 3) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/pytest_remotedata.egg-info/PKG-INFO new/pytest-remotedata-0.3.3/pytest_remotedata.egg-info/PKG-INFO --- old/pytest-remotedata-0.3.2/pytest_remotedata.egg-info/PKG-INFO 2019-07-20 16:17:29.000000000 +0200 +++ new/pytest-remotedata-0.3.3/pytest_remotedata.egg-info/PKG-INFO 2021-12-21 23:23:19.000000000 +0100 @@ -1,127 +1,11 @@ -Metadata-Version: 1.2 +Metadata-Version: 2.1 Name: pytest-remotedata -Version: 0.3.2 +Version: 0.3.3 Summary: Pytest plugin for controlling remote data access. -Home-page: https://astropy.org +Home-page: https://github.com/astropy/pytest-remotedata Author: The Astropy Developers Author-email: astropy.t...@gmail.com License: BSD -Description: ================= - pytest-remotedata - ================= - - This package provides a plugin for the `pytest`_ framework that allows - developers to control unit tests that require access to data from the internet. - It was originally part of the `astropy`_ core package, but has been moved to a - separate package in order to be of more general use. - - .. _pytest: https://pytest.org/en/latest/ - .. _astropy: https://astropy.org/en/latest/ - - - Motivation - ---------- - - Many software packages provide features that require access to data from the - internet. These features need to be tested, but unit tests that access the - internet can dominate the overall runtime of a test suite. - - The ``pytest-remotedata`` plugin allows developers to indicate which unit tests - require access to the internet, and to control when and whether such tests - should execute as part of any given run of the test suite. - - Installation - ------------ - - The ``pytest-remotedata`` plugin can be installed using ``pip``:: - - $ pip install pytest-remotedata - - It is also possible to install the latest development version from the source - repository:: - - $ git clone https://github.com/astropy/pytest-remotedata - $ cd pytest-remotedata - $ python ./setup.py install - - In either case, the plugin will automatically be registered for use with - ``pytest``. - - Usage - ----- - - Installing this plugin makes two decorators available for use with ``pytest``: - - * ``remote_data`` for marking tests that require data from the internet - * ``internet_off`` for marking tests that should run only when internet access - is disabled - - These decorators can be used to mark test functions, methods, and classes using - ``@pytest.mark``. For example, consider the following test function that - requires access to data from the internet: - - .. code-block:: python - - import pytest - from urllib.request import urlopen - - @pytest.mark.remote_data - def test_remote_data(): - urlopen('https://astropy.org') - - Marking the ``test_remote_data`` function with ``@pytest.mark.remote_data`` - indicates to ``pytest`` that this test should be run only when access to remote - data sources is explicitly requested. - - When this plugin is installed, the ``--remote-data`` command line option is - added to the ``pytest`` command line interface. - - The default behavior is to skip tests that are marked with ``remote_data``. - If the ``--remote-data`` option is not provided to the ``pytest`` command, or - if ``--remote-data=none`` is provided, all tests that are marked with - ``remote_data`` will be skipped. All tests that are marked with - ``internet_off`` will be executed. - - Sometimes it is useful to check that certain tests do not unexpectedly access - the internet. Strict remote data access checking can be enabled by setting - ``remote_data_strict = true`` in the tested package's ``setup.cfg`` file. If - this option is enabled, any test that attempts to access the network but is not - marked with ``@pytest.mark.remote_data`` will fail. - - - Providing either the ``--remote-data`` option, or ``--remote-data=any`` to the - ``pytest`` command line interface will cause all tests that are marked with - ``remote-data`` to execute. Any tests that are marked with ``internet_off`` - will be skipped. - - Running the tests with ``--remote-data=astropy`` will cause only tests that - receive remote data from Astropy data sources to be run. Tests with any other - data sources will be skipped. This is indicated in the test code by marking - test functions with ``@pytest.mark.remote_data(source='astropy')``. - - In the future, we intend to support a configurable way to indicate specific - remote data sources in addition to ``astropy``. - - Development Status - ------------------ - - .. image:: https://travis-ci.org/astropy/pytest-remotedata.svg - :target: https://travis-ci.org/astropy/pytest-remotedata - :alt: Travis CI Status - - .. image:: https://ci.appveyor.com/api/projects/status/ym7lxajcs5qwm31e/branch/master?svg=true - :target: https://ci.appveyor.com/project/Astropy/pytest-remotedata/branch/master - :alt: Appveyor Status - - Questions, bug reports, and feature requests can be submitted on `github`_. - - .. _github: https://github.com/astropy/pytest-remotedata - - License - ------- - This plugin is licensed under a 3-clause BSD style license - see the - ``LICENSE.rst`` file. - Keywords: remote,data,pytest,py.test Platform: UNKNOWN Classifier: Development Status :: 3 - Alpha @@ -130,13 +14,128 @@ Classifier: License :: OSI Approved :: BSD License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Topic :: Software Development :: Testing Classifier: Topic :: Utilities -Requires-Python: >=2.7 +Requires-Python: >=3.6 +Description-Content-Type: text/x-rst +License-File: LICENSE.rst + +================= +pytest-remotedata +================= + +.. image:: https://github.com/astropy/pytest-remotedata/workflows/Run%20unit%20tests/badge.svg + :target: https://github.com/astropy/pytest-remotedata/actions + :alt: CI Status + +This package provides a plugin for the `pytest`_ framework that allows +developers to control unit tests that require access to data from the internet. +It was originally part of the `astropy`_ core package, but has been moved to a +separate package in order to be of more general use. + +.. _pytest: https://pytest.org/en/latest/ +.. _astropy: https://astropy.org/ + + +Motivation +---------- + +Many software packages provide features that require access to data from the +internet. These features need to be tested, but unit tests that access the +internet can dominate the overall runtime of a test suite. + +The ``pytest-remotedata`` plugin allows developers to indicate which unit tests +require access to the internet, and to control when and whether such tests +should execute as part of any given run of the test suite. + +Installation +------------ + +The ``pytest-remotedata`` plugin can be installed using ``pip``:: + + $ pip install pytest-remotedata + +It is also possible to install the latest development version from the source +repository:: + + $ git clone https://github.com/astropy/pytest-remotedata + $ cd pytest-remotedata + $ pip install . + +In either case, the plugin will automatically be registered for use with +``pytest``. + +Usage +----- + +Installing this plugin makes two decorators available for use with ``pytest``: + +* ``remote_data`` for marking tests that require data from the internet +* ``internet_off`` for marking tests that should run only when internet access + is disabled + +These decorators can be used to mark test functions, methods, and classes using +``@pytest.mark``. For example, consider the following test function that +requires access to data from the internet: + +.. code-block:: python + + import pytest + from urllib.request import urlopen + + @pytest.mark.remote_data + def test_remote_data(): + urlopen('https://astropy.org') + +Marking the ``test_remote_data`` function with ``@pytest.mark.remote_data`` +indicates to ``pytest`` that this test should be run only when access to remote +data sources is explicitly requested. + +When this plugin is installed, the ``--remote-data`` command line option is +added to the ``pytest`` command line interface. + +The default behavior is to skip tests that are marked with ``remote_data``. +If the ``--remote-data`` option is not provided to the ``pytest`` command, or +if ``--remote-data=none`` is provided, all tests that are marked with +``remote_data`` will be skipped. All tests that are marked with +``internet_off`` will be executed. + +Sometimes it is useful to check that certain tests do not unexpectedly access +the internet. Strict remote data access checking can be enabled by setting +``remote_data_strict = true`` in the tested package's ``setup.cfg`` file. If +this option is enabled, any test that attempts to access the network but is not +marked with ``@pytest.mark.remote_data`` will fail. + + +Providing either the ``--remote-data`` option, or ``--remote-data=any`` to the +``pytest`` command line interface will cause all tests that are marked with +``remote-data`` to execute. Any tests that are marked with ``internet_off`` +will be skipped. + +Running the tests with ``--remote-data=astropy`` will cause only tests that +receive remote data from Astropy data sources to be run. Tests with any other +data sources will be skipped. This is indicated in the test code by marking +test functions with ``@pytest.mark.remote_data(source='astropy')``. + +In the future, we intend to support a configurable way to indicate specific +remote data sources in addition to ``astropy``. + +Development Status +------------------ + +Questions, bug reports, and feature requests can be submitted on `github`_. + +.. _github: https://github.com/astropy/pytest-remotedata + +License +------- +This plugin is licensed under a 3-clause BSD style license - see the +``LICENSE.rst`` file. + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/pytest_remotedata.egg-info/SOURCES.txt new/pytest-remotedata-0.3.3/pytest_remotedata.egg-info/SOURCES.txt --- old/pytest-remotedata-0.3.2/pytest_remotedata.egg-info/SOURCES.txt 2019-07-20 16:17:29.000000000 +0200 +++ new/pytest-remotedata-0.3.3/pytest_remotedata.egg-info/SOURCES.txt 2021-12-21 23:23:19.000000000 +0100 @@ -1,15 +1,18 @@ .gitignore -.travis.yml CHANGES.rst LICENSE.rst MANIFEST.in README.rst -appveyor.yml +pyproject.toml setup.cfg setup.py +tox.ini +.github/workflows/publish.yml +.github/workflows/python-tests.yml pytest_remotedata/__init__.py pytest_remotedata/disable_internet.py pytest_remotedata/plugin.py +pytest_remotedata/version.py pytest_remotedata.egg-info/PKG-INFO pytest_remotedata.egg-info/SOURCES.txt pytest_remotedata.egg-info/dependency_links.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/pytest_remotedata.egg-info/requires.txt new/pytest-remotedata-0.3.3/pytest_remotedata.egg-info/requires.txt --- old/pytest-remotedata-0.3.2/pytest_remotedata.egg-info/requires.txt 2019-07-20 16:17:29.000000000 +0200 +++ new/pytest-remotedata-0.3.3/pytest_remotedata.egg-info/requires.txt 2021-12-21 23:23:19.000000000 +0100 @@ -1,2 +1,2 @@ -six -pytest>=3.1 +pytest>=4.6 +packaging diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/setup.cfg new/pytest-remotedata-0.3.3/setup.cfg --- old/pytest-remotedata-0.3.2/setup.cfg 2019-07-20 16:17:30.000000000 +0200 +++ new/pytest-remotedata-0.3.3/setup.cfg 2021-12-21 23:23:19.807421700 +0100 @@ -1,7 +1,6 @@ [metadata] name = pytest-remotedata -version = 0.3.2 -url = https://astropy.org +url = https://github.com/astropy/pytest-remotedata author = The Astropy Developers author_email = astropy.t...@gmail.com classifiers = @@ -11,27 +10,29 @@ License :: OSI Approved :: BSD License Operating System :: OS Independent Programming Language :: Python - Programming Language :: Python :: 2.7 Programming Language :: Python :: 3 - Programming Language :: Python :: 3.3 - Programming Language :: Python :: 3.4 - Programming Language :: Python :: 3.5 + Programming Language :: Python :: 3 :: Only Programming Language :: Python :: 3.6 + Programming Language :: Python :: 3.7 + Programming Language :: Python :: 3.8 Programming Language :: Python :: Implementation :: CPython Topic :: Software Development :: Testing Topic :: Utilities license = BSD description = Pytest plugin for controlling remote data access. long_description = file: README.rst +long_description_content_type = text/x-rst keywords = remote, data, pytest, py.test [options] zip_safe = False packages = find: -python_requires = >=2.7 +python_requires = >=3.6 +setup_requires = + setuptools_scm install_requires = - six - pytest>=3.1 + pytest>=4.6 + packaging [options.entry_points] pytest11 = @@ -42,7 +43,7 @@ tests [tool:pytest] -minversion = 3.1 +minversion = 4.6 testpaths = tests remote_data_strict = true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/setup.py new/pytest-remotedata-0.3.3/setup.py --- old/pytest-remotedata-0.3.2/setup.py 2019-07-20 16:04:42.000000000 +0200 +++ new/pytest-remotedata-0.3.3/setup.py 2021-12-21 23:23:05.000000000 +0100 @@ -1,14 +1,6 @@ #!/usr/bin/env python -import sys -import setuptools -from distutils.version import LooseVersion +import os from setuptools import setup -# Setuptools 30.3.0 or later is needed for setup.cfg options to be used -if LooseVersion(setuptools.__version__) < LooseVersion('30.3.0'): - sys.stderr.write("ERROR: sphinx-automodapi requires setuptools 30.3.0 or " - "later (found {0})".format(setuptools.__version__)) - sys.exit(1) - -setup() +setup(use_scm_version={'write_to': os.path.join('pytest_remotedata', 'version.py')}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/tests/test_skip_remote_data.py new/pytest-remotedata-0.3.3/tests/test_skip_remote_data.py --- old/pytest-remotedata-0.3.2/tests/test_skip_remote_data.py 2019-07-20 15:22:39.000000000 +0200 +++ new/pytest-remotedata-0.3.3/tests/test_skip_remote_data.py 2021-12-21 23:23:05.000000000 +0100 @@ -2,24 +2,17 @@ # 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 +from urllib.error import URLError +from urllib.request import urlopen -import six -from six.moves.urllib.request import urlopen - +import pytest 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: @@ -97,13 +90,13 @@ def test_block_internet_connection(pytestconfig): if pytestconfig.getoption('remote_data') == 'none': - with pytest.raises(_EXPECTED_ERROR): + with pytest.raises(URLError): download_file(EXTERNAL_URL) elif pytestconfig.getoption('remote_data') == 'astropy': - with pytest.raises(_EXPECTED_ERROR): + with pytest.raises(URLError): download_file(EXTERNAL_URL) elif pytestconfig.getoption('remote_data') == 'github': - with pytest.raises(_EXPECTED_ERROR): + with pytest.raises(URLError): download_file(EXTERNAL_URL) else: download_file(EXTERNAL_URL) @@ -111,5 +104,5 @@ @pytest.mark.internet_off def test_block_internet_connection_internet_off(): - with pytest.raises(_EXPECTED_ERROR): + with pytest.raises(URLError): download_file(EXTERNAL_URL) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/tests/test_socketblocker.py new/pytest-remotedata-0.3.3/tests/test_socketblocker.py --- old/pytest-remotedata-0.3.2/tests/test_socketblocker.py 2019-07-20 15:14:24.000000000 +0200 +++ new/pytest-remotedata-0.3.3/tests/test_socketblocker.py 2021-12-21 23:23:05.000000000 +0100 @@ -1,14 +1,11 @@ # Licensed under a 3-clause BSD style license - see LICENSE.rst import sys import time - +from http.server import HTTPServer, SimpleHTTPRequestHandler from threading import Thread - -from six.moves import BaseHTTPServer, SimpleHTTPServer -from six.moves.urllib.request import urlopen +from urllib.request import urlopen import pytest - from pytest_remotedata.disable_internet import no_internet @@ -18,7 +15,7 @@ urlopen('http://www.python.org') -class StoppableHTTPServer(BaseHTTPServer.HTTPServer, object): +class StoppableHTTPServer(HTTPServer, object): def __init__(self, *args): super(StoppableHTTPServer, self).__init__(*args) self.stop = False @@ -44,8 +41,7 @@ # 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) + httpd = StoppableHTTPServer(('localhost', 0), SimpleHTTPRequestHandler) port = httpd.socket.getsockname()[1] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/tests/test_strict_check.py new/pytest-remotedata-0.3.3/tests/test_strict_check.py --- old/pytest-remotedata-0.3.2/tests/test_strict_check.py 2019-07-20 16:03:48.000000000 +0200 +++ new/pytest-remotedata-0.3.3/tests/test_strict_check.py 2021-12-21 23:23:05.000000000 +0100 @@ -5,7 +5,7 @@ PYFILE_CONTENTS = """ import pytest - from six.moves.urllib.request import urlopen + from urllib.request import urlopen def test_config_setting(pytestconfig): assert pytestconfig.getini('remote_data_strict') == {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-remotedata-0.3.2/tox.ini new/pytest-remotedata-0.3.3/tox.ini --- old/pytest-remotedata-0.3.2/tox.ini 1970-01-01 01:00:00.000000000 +0100 +++ new/pytest-remotedata-0.3.3/tox.ini 2021-12-21 23:23:05.000000000 +0100 @@ -0,0 +1,37 @@ +[tox] +envlist = + py{36,37,38,39}-test{,-devdeps} + codestyle +requires = + setuptools >= 30.3.0 + pip >= 19.3.1 +isolated_build = true + +[testenv] +changedir = .tmp/{envname} +description = run tests +deps = + pytest46: pytest==4.6.* + pytest50: pytest==5.0.* + pytest51: pytest==5.1.* + pytest52: pytest==5.2.* + pytest53: pytest==5.3.* + pytest60: pytest==6.0.* + pytest61: pytest==6.1.* + pytestdev: git+https://github.com/pytest-dev/pytest#egg=pytest + +commands = + pip freeze + pytest {toxinidir}/tests {posargs} + pytest {toxinidir}/tests --remote-data {posargs} + pytest {toxinidir}/tests --remote-data=none {posargs} + pytest {toxinidir}/tests --remote-data=github {posargs} + pytest {toxinidir}/tests --remote-data=astropy {posargs} + pytest {toxinidir}/tests --remote-data=any {posargs} + +[testenv:codestyle] +changedir = +skip_install = true +description = check code style, e.g. with flake8 +deps = flake8 +commands = flake8 pytest_remotedata --count