Hello community,
here is the log from the commit of package python-pytest-doctestplus for
openSUSE:Factory checked in at 2020-06-10 00:49:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest-doctestplus (Old)
and /work/SRC/openSUSE:Factory/.python-pytest-doctestplus.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytest-doctestplus"
Wed Jun 10 00:49:51 2020 rev:8 rq:812817 version:0.7.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-pytest-doctestplus/python-pytest-doctestplus.changes
2020-05-19 14:47:34.871954564 +0200
+++
/work/SRC/openSUSE:Factory/.python-pytest-doctestplus.new.3606/python-pytest-doctestplus.changes
2020-06-10 00:49:52.731174574 +0200
@@ -1,0 +2,7 @@
+Tue Jun 9 08:05:00 UTC 2020 - Tomáš Chvátal <[email protected]>
+
+- Update to 0.7.0:
+ * Added a new ini option, doctest_subpackage_requires, that can
+ be used to skip specific subpackages based on required packages. [#112]
+
+-------------------------------------------------------------------
Old:
----
pytest-doctestplus-0.6.1.tar.gz
New:
----
pytest-doctestplus-0.7.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pytest-doctestplus.spec ++++++
--- /var/tmp/diff_new_pack.BRqYEY/_old 2020-06-10 00:49:53.411176353 +0200
+++ /var/tmp/diff_new_pack.BRqYEY/_new 2020-06-10 00:49:53.415176364 +0200
@@ -27,7 +27,7 @@
%define skip_python2 1
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-pytest-doctestplus%{psuffix}
-Version: 0.6.1
+Version: 0.7.0
Release: 0
Summary: Pytest plugin with advanced doctest features
License: BSD-3-Clause
++++++ pytest-doctestplus-0.6.1.tar.gz -> pytest-doctestplus-0.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-doctestplus-0.6.1/.gitignore
new/pytest-doctestplus-0.7.0/.gitignore
--- old/pytest-doctestplus-0.6.1/.gitignore 2019-11-02 18:35:36.000000000
+0100
+++ new/pytest-doctestplus-0.7.0/.gitignore 1970-01-01 01:00:00.000000000
+0100
@@ -1,60 +0,0 @@
-# Compiled files
-*.py[cod]
-*.a
-*.o
-*.so
-*.pyd
-__pycache__
-
-# Ignore .c files by default to avoid including generated code. If you want to
-# add a non-generated .c extension, use `git add -f filename.c`.
-*.c
-
-# Other generated files
-MANIFEST
-
-# Sphinx
-_build
-_generated
-docs/api
-docs/generated
-
-# Packages/installer info
-*.egg
-*.egg-info
-dist
-build
-eggs
-.eggs
-parts
-bin
-var
-sdist
-develop-eggs
-.installed.cfg
-distribute-*.tar.gz
-
-# Other
-.cache
-.tox
-.*.swp
-.*.swo
-*~
-.project
-.pydevproject
-.settings
-.coverage
-cover
-htmlcov
-.pytest_cache
-
-# Env
-.venv
-venv
-.env
-
-# Mac OSX
-.DS_Store
-
-# PyCharm
-.idea
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-doctestplus-0.6.1/.travis.yml
new/pytest-doctestplus-0.7.0/.travis.yml
--- old/pytest-doctestplus-0.6.1/.travis.yml 2020-04-30 08:00:07.000000000
+0200
+++ new/pytest-doctestplus-0.7.0/.travis.yml 1970-01-01 01:00:00.000000000
+0100
@@ -1,52 +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
- - windows
-
-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.8
- - PYTEST_COMMAND='pytest'
- - PY_IGNORE_IMPORTMISMATCH=1
-
- jobs:
- - PYTHON_VERSION=3.6
- - PYTHON_VERSION=3.7 PYTEST_VERSION=4
- - PYTHON_VERSION=3.8 PYTEST_VERSION='<5.4'
-
-stages:
- # only run 2 jobs initially. Using "test" as it cannot be adjusted for the
root jobs above.
- - name: Initial tests
- - name: test
-
-jobs:
- include:
- - os: linux
- env: PYTHON_VERSION=3.7 NUMPY_VERSION=stable
- stage: Initial tests
-
- # Try a run on OSX with latest versions of python and pytest
- - os: osx
- stage: test
- env: PYTHON_VERSION=3.7
-
- # Try a run against dev pytest
- - stage: test
- env: PYTHON_VERSION=3.8 PYTEST_VERSION=dev
-
-install:
- - git clone git://github.com/astropy/ci-helpers.git
- - source ci-helpers/travis/setup_conda.sh
- - python ./setup.py install
-
-script:
- - $PYTEST_COMMAND --doctest-plus
- - $PYTEST_COMMAND --doctest-plus --doctest-rst
- - $PYTEST_COMMAND --doctest-plus --doctest-rst --text-file-format=tex
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-doctestplus-0.6.1/CHANGES.rst
new/pytest-doctestplus-0.7.0/CHANGES.rst
--- old/pytest-doctestplus-0.6.1/CHANGES.rst 2020-05-05 03:33:10.000000000
+0200
+++ new/pytest-doctestplus-0.7.0/CHANGES.rst 2020-05-20 16:57:53.000000000
+0200
@@ -1,3 +1,9 @@
+0.7.0 (2020-05-20)
+==================
+
+- Added a new ini option, ``doctest_subpackage_requires``, that can be used to
skip
+ specific subpackages based on required packages. [#112]
+
0.6.1 (2020-05-04)
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-doctestplus-0.6.1/PKG-INFO
new/pytest-doctestplus-0.7.0/PKG-INFO
--- old/pytest-doctestplus-0.6.1/PKG-INFO 2020-05-05 03:38:15.000000000
+0200
+++ new/pytest-doctestplus-0.7.0/PKG-INFO 2020-05-20 16:58:54.000000000
+0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: pytest-doctestplus
-Version: 0.6.1
+Version: 0.7.0
Summary: Pytest plugin with advanced doctest features.
Home-page: https://astropy.org
Author: The Astropy Developers
@@ -233,6 +233,17 @@
>>> import asdf
>>> asdf.open('file.asdf')
+ Finally, it is possible to skip collecting doctests in entire
subpackages by
+ using the ``doctest_subpackage_requires`` in the ``[tool:pytest]``
section of
+ the package's ``setup.cfg`` file. The syntax for this option is a list
of
+ ``path = requirements``, e.g.::
+
+ doctest_subpackage_requires =
+ astropy/wcs/* = scipy>2.0;numpy>1.14
+ astropy/cosmology/* = scipy>1.0
+
+ Multiple requirements can be specified if separated by semicolons.
+
Remote Data
~~~~~~~~~~~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-doctestplus-0.6.1/README.rst
new/pytest-doctestplus-0.7.0/README.rst
--- old/pytest-doctestplus-0.6.1/README.rst 2019-11-12 20:41:45.000000000
+0100
+++ new/pytest-doctestplus-0.7.0/README.rst 2020-05-20 16:56:16.000000000
+0200
@@ -225,6 +225,17 @@
>>> import asdf
>>> asdf.open('file.asdf')
+Finally, it is possible to skip collecting doctests in entire subpackages by
+using the ``doctest_subpackage_requires`` in the ``[tool:pytest]`` section of
+the package's ``setup.cfg`` file. The syntax for this option is a list of
+``path = requirements``, e.g.::
+
+ doctest_subpackage_requires =
+ astropy/wcs/* = scipy>2.0;numpy>1.14
+ astropy/cosmology/* = scipy>1.0
+
+Multiple requirements can be specified if separated by semicolons.
+
Remote Data
~~~~~~~~~~~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-doctestplus-0.6.1/licenses/README.rst
new/pytest-doctestplus-0.7.0/licenses/README.rst
--- old/pytest-doctestplus-0.6.1/licenses/README.rst 2018-11-24
09:23:22.000000000 +0100
+++ new/pytest-doctestplus-0.7.0/licenses/README.rst 1970-01-01
01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-Licenses
-========
-
-This directory holds license and credit information for works this plugin is
derived from or distributes, and/or datasets.
-
-The license file for this package itself is placed in the root directory of
this repository.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-doctestplus-0.6.1/licenses/SYMPY_LICENSE.rst
new/pytest-doctestplus-0.7.0/licenses/SYMPY_LICENSE.rst
--- old/pytest-doctestplus-0.6.1/licenses/SYMPY_LICENSE.rst 2018-11-24
09:23:22.000000000 +0100
+++ new/pytest-doctestplus-0.7.0/licenses/SYMPY_LICENSE.rst 1970-01-01
01:00:00.000000000 +0100
@@ -1,28 +0,0 @@
-Copyright (c) 2006-2014 SymPy Development Team
-
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- a. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- b. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- c. Neither the name of SymPy nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pytest-doctestplus-0.6.1/pytest_doctestplus/__init__.py
new/pytest-doctestplus-0.7.0/pytest_doctestplus/__init__.py
--- old/pytest-doctestplus-0.6.1/pytest_doctestplus/__init__.py 2020-05-05
03:32:50.000000000 +0200
+++ new/pytest-doctestplus-0.7.0/pytest_doctestplus/__init__.py 2020-05-20
16:57:20.000000000 +0200
@@ -3,4 +3,4 @@
This package contains pytest plugins that are used by the astropy test suite.
"""
-__version__ = '0.6.1'
+__version__ = '0.7.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pytest-doctestplus-0.6.1/pytest_doctestplus/plugin.py
new/pytest-doctestplus-0.7.0/pytest_doctestplus/plugin.py
--- old/pytest-doctestplus-0.6.1/pytest_doctestplus/plugin.py 2020-05-05
03:32:04.000000000 +0200
+++ new/pytest-doctestplus-0.7.0/pytest_doctestplus/plugin.py 2020-05-20
16:56:16.000000000 +0200
@@ -115,6 +115,12 @@
type='linelist',
default=[])
+ parser.addini("doctest_subpackage_requires",
+ "A list of paths to skip if requirements are not satisfied.
Each item in the list "
+ "should have the syntax path=req1;req2",
+ type='linelist',
+ default=[])
+
def get_optionflags(parent):
optionflags_str = parent.config.getini('doctest_optionflags')
@@ -168,12 +174,10 @@
try:
module = self.fspath.pyimport()
except ImportError:
- pytest.skip("unable to import module %r" % self.fspath)
- # NOT USED: While correct, this breaks existing behavior.
- # if self.config.getvalue("doctest_ignore_import_errors"):
- # pytest.skip("unable to import module %r" %
self.fspath)
- # else:
- # raise
+ if self.config.getvalue("doctest_ignore_import_errors"):
+ pytest.skip("unable to import module %r" % self.fspath)
+ else:
+ raise
options = get_optionflags(self) | FIX
@@ -410,6 +414,14 @@
self._ignore_paths.append(path)
break
+ for option in config.getini("doctest_subpackage_requires"):
+ subpackage_pattern, required = option.split('=', 1)
+ if path.check(fnmatch=subpackage_pattern.strip()):
+ required = required.strip().split(';')
+ if not DocTestFinderPlus.check_required_modules(required):
+ self._ignore_paths.append(path)
+ break
+
return False
def pytest_collect_file(self, path, parent):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-doctestplus-0.6.1/pytest_doctestplus/utils.py
new/pytest-doctestplus-0.7.0/pytest_doctestplus/utils.py
--- old/pytest-doctestplus-0.6.1/pytest_doctestplus/utils.py 2019-11-12
20:41:45.000000000 +0100
+++ new/pytest-doctestplus-0.7.0/pytest_doctestplus/utils.py 2020-05-20
16:56:16.000000000 +0200
@@ -78,7 +78,6 @@
try:
return self._find_distribution(dist)
except Exception as e:
- logger.warning(e)
return None
def check(self, module):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pytest-doctestplus-0.6.1/pytest_doctestplus.egg-info/PKG-INFO
new/pytest-doctestplus-0.7.0/pytest_doctestplus.egg-info/PKG-INFO
--- old/pytest-doctestplus-0.6.1/pytest_doctestplus.egg-info/PKG-INFO
2020-05-05 03:38:14.000000000 +0200
+++ new/pytest-doctestplus-0.7.0/pytest_doctestplus.egg-info/PKG-INFO
2020-05-20 16:58:54.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: pytest-doctestplus
-Version: 0.6.1
+Version: 0.7.0
Summary: Pytest plugin with advanced doctest features.
Home-page: https://astropy.org
Author: The Astropy Developers
@@ -233,6 +233,17 @@
>>> import asdf
>>> asdf.open('file.asdf')
+ Finally, it is possible to skip collecting doctests in entire
subpackages by
+ using the ``doctest_subpackage_requires`` in the ``[tool:pytest]``
section of
+ the package's ``setup.cfg`` file. The syntax for this option is a list
of
+ ``path = requirements``, e.g.::
+
+ doctest_subpackage_requires =
+ astropy/wcs/* = scipy>2.0;numpy>1.14
+ astropy/cosmology/* = scipy>1.0
+
+ Multiple requirements can be specified if separated by semicolons.
+
Remote Data
~~~~~~~~~~~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pytest-doctestplus-0.6.1/pytest_doctestplus.egg-info/SOURCES.txt
new/pytest-doctestplus-0.7.0/pytest_doctestplus.egg-info/SOURCES.txt
--- old/pytest-doctestplus-0.6.1/pytest_doctestplus.egg-info/SOURCES.txt
2020-05-05 03:38:15.000000000 +0200
+++ new/pytest-doctestplus-0.7.0/pytest_doctestplus.egg-info/SOURCES.txt
2020-05-20 16:58:54.000000000 +0200
@@ -1,13 +1,9 @@
-.gitignore
-.travis.yml
CHANGES.rst
LICENSE.rst
MANIFEST.in
README.rst
setup.cfg
setup.py
-licenses/README.rst
-licenses/SYMPY_LICENSE.rst
pytest_doctestplus/__init__.py
pytest_doctestplus/output_checker.py
pytest_doctestplus/plugin.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-doctestplus-0.6.1/setup.py
new/pytest-doctestplus-0.7.0/setup.py
--- old/pytest-doctestplus-0.6.1/setup.py 2020-05-05 03:33:35.000000000
+0200
+++ new/pytest-doctestplus-0.7.0/setup.py 2020-05-20 16:57:37.000000000
+0200
@@ -12,7 +12,7 @@
setup(
name='pytest-doctestplus',
- version='0.6.1',
+ version='0.7.0',
license='BSD',
description='Pytest plugin with advanced doctest features.',
long_description=readme(),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-doctestplus-0.6.1/tests/test_doctestplus.py
new/pytest-doctestplus-0.7.0/tests/test_doctestplus.py
--- old/pytest-doctestplus-0.6.1/tests/test_doctestplus.py 2020-04-30
08:00:07.000000000 +0200
+++ new/pytest-doctestplus-0.7.0/tests/test_doctestplus.py 2020-05-20
16:56:16.000000000 +0200
@@ -1,3 +1,4 @@
+import os
from distutils.version import LooseVersion
from textwrap import dedent
@@ -651,3 +652,41 @@
doctest.testfile(str(test2_rst), module_relative=False,
raise_on_error=True, verbose=False, encoding='utf-8')
+
+
+def test_doctest_subpackage_requires(testdir, caplog):
+
+ # Note that each entry below has different whitespace around the = to
+ # make sure that all cases work properly.
+
+ testdir.makeini(
+ """
+ [pytest]
+ doctest_subpackage_requires =
+ test/a/* = pytest>1
+ test/b/*= pytest>1;averyfakepackage>99999.9
+ test/c/*=anotherfakepackage>=22000.1.2
+ """
+ )
+ test = testdir.mkdir('test')
+ a = test.mkdir('a')
+ b = test.mkdir('b')
+ c = test.mkdir('c')
+
+ pyfile = dedent("""
+ def f():
+ '''
+ >>> 1
+ 1
+ '''
+ pass
+ """)
+
+ a.join('testcode.py').write(pyfile)
+ b.join('testcode.py').write(pyfile)
+ c.join('testcode.py').write(pyfile)
+
+ reprec = testdir.inline_run(test, "--doctest-plus")
+ reprec.assertoutcome(passed=1)
+ assert reprec.listoutcomes()[0][0].location[0] == os.path.join('test',
'a', 'testcode.py')
+ assert caplog.text == ''