Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pytest-doctestplus for
openSUSE:Factory checked in at 2025-10-28 14:49:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest-doctestplus (Old)
and /work/SRC/openSUSE:Factory/.python-pytest-doctestplus.new.1980 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytest-doctestplus"
Tue Oct 28 14:49:08 2025 rev:21 rq:1314025 version:1.5.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-pytest-doctestplus/python-pytest-doctestplus.changes
2025-09-11 14:43:21.902008274 +0200
+++
/work/SRC/openSUSE:Factory/.python-pytest-doctestplus.new.1980/python-pytest-doctestplus.changes
2025-10-28 14:50:10.556046929 +0100
@@ -1,0 +2,9 @@
+Tue Oct 28 09:11:39 UTC 2025 - Daniel Garcia <[email protected]>
+
+- Update to 1.5.0:
+ * Adding the usage of the doctest_encoding ini option when
+ overwriting files with the doctest-plus-generate-diff option.
+ [#284]
+- Drop upstream patch add-missing-xfail-version.patch
+
+-------------------------------------------------------------------
Old:
----
add-missing-xfail-version.patch
pytest_doctestplus-1.4.0.tar.gz
New:
----
pytest_doctestplus-1.5.0.tar.gz
----------(Old B)----------
Old: [#284]
- Drop upstream patch add-missing-xfail-version.patch
----------(Old E)----------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pytest-doctestplus.spec ++++++
--- /var/tmp/diff_new_pack.yTiX1z/_old 2025-10-28 14:50:11.256076369 +0100
+++ /var/tmp/diff_new_pack.yTiX1z/_new 2025-10-28 14:50:11.260076538 +0100
@@ -27,14 +27,12 @@
%{?sle15_python_module_pythons}
Name: python-pytest-doctestplus%{psuffix}
-Version: 1.4.0
+Version: 1.5.0
Release: 0
Summary: Pytest plugin with advanced doctest features
License: BSD-3-Clause
URL: https://github.com/scientific-python/pytest-doctestplus
Source:
https://files.pythonhosted.org/packages/source/p/pytest-doctestplus/pytest_doctestplus-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM add-missing-xfail-version.patch (gh#23eb3de)
-Patch0: add-missing-xfail-version.patch
BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools_scm}
++++++ pytest_doctestplus-1.4.0.tar.gz -> pytest_doctestplus-1.5.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest_doctestplus-1.4.0/.github/release.yml
new/pytest_doctestplus-1.5.0/.github/release.yml
--- old/pytest_doctestplus-1.4.0/.github/release.yml 1970-01-01
01:00:00.000000000 +0100
+++ new/pytest_doctestplus-1.5.0/.github/release.yml 2025-10-18
04:00:38.000000000 +0200
@@ -0,0 +1,7 @@
+changelog:
+ exclude:
+ authors:
+ - dependabot
+ - dependabot[bot]
+ - pre-commit-ci
+ - pre-commit-ci[bot]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pytest_doctestplus-1.4.0/.github/workflows/publish.yml
new/pytest_doctestplus-1.5.0/.github/workflows/publish.yml
--- old/pytest_doctestplus-1.4.0/.github/workflows/publish.yml 2025-01-25
05:17:49.000000000 +0100
+++ new/pytest_doctestplus-1.5.0/.github/workflows/publish.yml 2025-10-18
04:00:38.000000000 +0200
@@ -18,10 +18,10 @@
if: ((github.event_name == 'push' && startsWith(github.ref, 'refs/tags'))
|| contains(github.event.pull_request.labels.*.name, 'Build wheels'))
steps:
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
- - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b #
v5.3.0
+ - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c #
v6.0.0
with:
python-version: '3.10'
@@ -46,7 +46,7 @@
- name: Publish distribution 📦 to PyPI
if: startsWith(github.ref, 'refs/tags')
- uses:
pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3
+ uses:
pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
with:
user: __token__
password: ${{ secrets.pypi_password }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pytest_doctestplus-1.4.0/.github/workflows/python-tests.yml
new/pytest_doctestplus-1.5.0/.github/workflows/python-tests.yml
--- old/pytest_doctestplus-1.4.0/.github/workflows/python-tests.yml
2025-01-25 05:17:49.000000000 +0100
+++ new/pytest_doctestplus-1.5.0/.github/workflows/python-tests.yml
2025-10-18 04:00:38.000000000 +0200
@@ -63,23 +63,26 @@
toxenv: py313-test-pytest83
- os: windows-latest
python-version: '3.13'
- toxenv: py313-test-pytestdev
+ toxenv: py313-test-pytest84
+ - os: windows-latest
+ python-version: '3.14'
+ toxenv: py314-test-pytestdev
- os: macos-latest
- python-version: '3.12'
- toxenv: py312-test-pytestdev
+ python-version: '3.14'
+ toxenv: py314-test-pytestdev
- os: ubuntu-latest
- python-version: '3.13'
- toxenv: py313-test-pytestdev-numpydev
+ python-version: '3.14'
+ toxenv: py314-test-pytestdev-numpydev
- os: ubuntu-latest
python-version: '3.13'
toxenv: py313-test-pytest83-pytestasyncio
steps:
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b #
v5.3.0
+ uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c #
v6.0.0
with:
python-version: ${{ matrix.python-version }}
- name: Install Tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest_doctestplus-1.4.0/CHANGES.rst
new/pytest_doctestplus-1.5.0/CHANGES.rst
--- old/pytest_doctestplus-1.4.0/CHANGES.rst 2025-01-25 05:17:49.000000000
+0100
+++ new/pytest_doctestplus-1.5.0/CHANGES.rst 2025-10-18 04:00:38.000000000
+0200
@@ -1,3 +1,9 @@
+1.5.0 (2025-10-17)
+==================
+
+- Adding the usage of the ``doctest_encoding`` ini option when overwriting
+ files with the ``doctest-plus-generate-diff`` option. [#284]
+
1.4.0 (2025-01-24)
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest_doctestplus-1.4.0/PKG-INFO
new/pytest_doctestplus-1.5.0/PKG-INFO
--- old/pytest_doctestplus-1.4.0/PKG-INFO 2025-01-25 05:18:03.848706700
+0100
+++ new/pytest_doctestplus-1.5.0/PKG-INFO 2025-10-18 04:00:49.324933000
+0200
@@ -1,6 +1,6 @@
-Metadata-Version: 2.2
+Metadata-Version: 2.4
Name: pytest-doctestplus
-Version: 1.4.0
+Version: 1.5.0
Summary: Pytest plugin with advanced doctest features.
Home-page: https://github.com/scientific-python/pytest-doctestplus
Author: Scientific Python Developers
@@ -32,6 +32,7 @@
Requires-Dist: pytest-remotedata>=0.3.2; extra == "test"
Requires-Dist: setuptools>=30.3.0; extra == "test"
Requires-Dist: sphinx; extra == "test"
+Dynamic: license-file
==================
pytest-doctestplus
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pytest_doctestplus-1.4.0/pytest_doctestplus/plugin.py
new/pytest_doctestplus-1.5.0/pytest_doctestplus/plugin.py
--- old/pytest_doctestplus-1.4.0/pytest_doctestplus/plugin.py 2025-01-25
05:17:49.000000000 +0100
+++ new/pytest_doctestplus-1.5.0/pytest_doctestplus/plugin.py 2025-10-18
04:00:38.000000000 +0200
@@ -444,7 +444,7 @@
continue
if config.getoption('remote_data', 'none') != 'any':
- if
any(re.match(fr'{comment_char}\s+doctest-remote-data-all\s*::', x.strip())
+ if
any(re.match(fr'{comment_char}\s+doctest-remote-data-all\s*::', x.strip()) #
noqa: E501
for x in lines):
skip_all = True
continue
@@ -912,13 +912,13 @@
return tests
-def write_modified_file(fname, new_fname, changes):
+def write_modified_file(fname, new_fname, changes, encoding=None):
# Sort in reversed order to edit the lines:
bad_tests = []
changes.sort(key=lambda x: (x["test_lineno"], x["example_lineno"]),
reverse=True)
- with open(fname) as f:
+ with open(fname, encoding=encoding) as f:
text = f.readlines()
for change in changes:
@@ -939,7 +939,7 @@
text[lineno:lineno+want.count("\n")] = [got]
- with open(new_fname, "w") as f:
+ with open(new_fname, "w", encoding=encoding) as f:
f.write("".join(text))
return bad_tests
@@ -954,6 +954,8 @@
if not diff_mode:
return # we do not report or apply diffs
+ encoding = config.getini("doctest_encoding")
+
if diff_mode != "overwrite":
# In this mode, we write a corrected file to a temporary folder in
# order to compare them (rather than modifying the file).
@@ -974,14 +976,14 @@
new_fname = fname.replace(common_path, tmpdirname)
os.makedirs(os.path.split(new_fname)[0], exist_ok=True)
- bad_tests = write_modified_file(fname, new_fname, changes)
+ bad_tests = write_modified_file(fname, new_fname, changes,
encoding)
all_bad_tests.extend(bad_tests)
# git diff returns 1 to signal changes, so just ignore the
# exit status:
with subprocess.Popen(
["git", "diff", "-p", "--no-index", fname, new_fname],
- stdout=subprocess.PIPE, stderr=subprocess.PIPE,
text=True) as p:
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE,
encoding=encoding) as p:
p.wait()
# Diff should be fine, but write error if not:
diff = p.stderr.read()
@@ -1013,7 +1015,7 @@
return
terminalreporter.write_line("Applied fix to the following files:")
for fname, changes in changesets.items():
- bad_tests = write_modified_file(fname, fname, changes)
+ bad_tests = write_modified_file(fname, fname, changes, encoding)
all_bad_tests.extend(bad_tests)
terminalreporter.write_line(f" {fname}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest_doctestplus-1.4.0/pytest_doctestplus/utils.py
new/pytest_doctestplus-1.5.0/pytest_doctestplus/utils.py
--- old/pytest_doctestplus-1.4.0/pytest_doctestplus/utils.py 2025-01-25
05:17:49.000000000 +0100
+++ new/pytest_doctestplus-1.5.0/pytest_doctestplus/utils.py 2025-10-18
04:00:38.000000000 +0200
@@ -3,6 +3,7 @@
from importlib.metadata import distribution
from packaging.requirements import Requirement
+
class ModuleChecker:
def find_module(self, module):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pytest_doctestplus-1.4.0/pytest_doctestplus/version.py
new/pytest_doctestplus-1.5.0/pytest_doctestplus/version.py
--- old/pytest_doctestplus-1.4.0/pytest_doctestplus/version.py 2025-01-25
05:18:03.000000000 +0100
+++ new/pytest_doctestplus-1.5.0/pytest_doctestplus/version.py 2025-10-18
04:00:49.000000000 +0200
@@ -1,16 +1,34 @@
-# file generated by setuptools_scm
+# file generated by setuptools-scm
# don't change, don't track in version control
+
+__all__ = [
+ "__version__",
+ "__version_tuple__",
+ "version",
+ "version_tuple",
+ "__commit_id__",
+ "commit_id",
+]
+
TYPE_CHECKING = False
if TYPE_CHECKING:
- from typing import Tuple, Union
+ from typing import Tuple
+ from typing import Union
+
VERSION_TUPLE = Tuple[Union[int, str], ...]
+ COMMIT_ID = Union[str, None]
else:
VERSION_TUPLE = object
+ COMMIT_ID = object
version: str
__version__: str
__version_tuple__: VERSION_TUPLE
version_tuple: VERSION_TUPLE
+commit_id: COMMIT_ID
+__commit_id__: COMMIT_ID
+
+__version__ = version = '1.5.0'
+__version_tuple__ = version_tuple = (1, 5, 0)
-__version__ = version = '1.4.0'
-__version_tuple__ = version_tuple = (1, 4, 0)
+__commit_id__ = commit_id = 'gc6d125607'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pytest_doctestplus-1.4.0/pytest_doctestplus.egg-info/PKG-INFO
new/pytest_doctestplus-1.5.0/pytest_doctestplus.egg-info/PKG-INFO
--- old/pytest_doctestplus-1.4.0/pytest_doctestplus.egg-info/PKG-INFO
2025-01-25 05:18:03.000000000 +0100
+++ new/pytest_doctestplus-1.5.0/pytest_doctestplus.egg-info/PKG-INFO
2025-10-18 04:00:49.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 2.2
+Metadata-Version: 2.4
Name: pytest-doctestplus
-Version: 1.4.0
+Version: 1.5.0
Summary: Pytest plugin with advanced doctest features.
Home-page: https://github.com/scientific-python/pytest-doctestplus
Author: Scientific Python Developers
@@ -32,6 +32,7 @@
Requires-Dist: pytest-remotedata>=0.3.2; extra == "test"
Requires-Dist: setuptools>=30.3.0; extra == "test"
Requires-Dist: sphinx; extra == "test"
+Dynamic: license-file
==================
pytest-doctestplus
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pytest_doctestplus-1.4.0/pytest_doctestplus.egg-info/SOURCES.txt
new/pytest_doctestplus-1.5.0/pytest_doctestplus.egg-info/SOURCES.txt
--- old/pytest_doctestplus-1.4.0/pytest_doctestplus.egg-info/SOURCES.txt
2025-01-25 05:18:03.000000000 +0100
+++ new/pytest_doctestplus-1.5.0/pytest_doctestplus.egg-info/SOURCES.txt
2025-10-18 04:00:49.000000000 +0200
@@ -9,6 +9,7 @@
setup.py
tox.ini
.github/dependabot.yml
+.github/release.yml
.github/workflows/publish.yml
.github/workflows/python-tests.yml
licenses/README.rst
@@ -34,6 +35,7 @@
tests/index.rst
tests/make.bat
tests/test_doctestplus.py
+tests/test_encoding.py
tests/test_utils.py
tests/docs/skip_all.rst
tests/docs/skip_all.tex
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest_doctestplus-1.4.0/setup.cfg
new/pytest_doctestplus-1.5.0/setup.cfg
--- old/pytest_doctestplus-1.4.0/setup.cfg 2025-01-25 05:18:03.848706700
+0100
+++ new/pytest_doctestplus-1.5.0/setup.cfg 2025-10-18 04:00:49.325532000
+0200
@@ -58,6 +58,7 @@
error
ignore:file format.*:UserWarning
ignore:.*non-empty pattern match.*:FutureWarning
+ ignore:The configuration option
"asyncio_default_fixture_loop_scope":pytest.PytestDeprecationWarning
[flake8]
max-line-length = 100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest_doctestplus-1.4.0/tests/test_doctestplus.py
new/pytest_doctestplus-1.5.0/tests/test_doctestplus.py
--- old/pytest_doctestplus-1.4.0/tests/test_doctestplus.py 2025-01-25
05:17:49.000000000 +0100
+++ new/pytest_doctestplus-1.5.0/tests/test_doctestplus.py 2025-10-18
04:00:38.000000000 +0200
@@ -13,10 +13,12 @@
try:
import pytest_asyncio # noqa: F401
- has_pytest_asyncio = True
+ if Version(pytest_asyncio.__version__) < Version('1.0'):
+ main_pytest_asyncio_xfails = True
+ else:
+ main_pytest_asyncio_xfails = False
except ImportError:
- has_pytest_asyncio = False
-
+ main_pytest_asyncio_xfails = False
pytest_plugins = ['pytester']
@@ -767,6 +769,8 @@
).assertoutcome(passed=2)
+# We see unclosed file ResourceWarning on windows with python 3.14
[email protected]('ignore:unclosed file:ResourceWarning')
def test_doctest_only(testdir, makepyfile, maketestfile, makerstfile):
# regular python files with doctests
makepyfile(p1='>>> 1 + 1\n2')
@@ -1189,7 +1193,7 @@
@pytest.mark.xfail(
- has_pytest_asyncio,
+ main_pytest_asyncio_xfails,
reason='pytest_asyncio monkey-patches .collect()')
def test_main(testdir):
pkg = testdir.mkdir('pkg')
@@ -1210,7 +1214,7 @@
@pytest.mark.xfail(
- python_version() in ('3.11.9', '3.11.10', '3.11.11', '3.12.3'),
+ python_version() in ('3.11.9', '3.11.10', '3.11.11', '3.11.12',
'3.11.13', '3.11.14', '3.12.3'),
reason='broken by https://github.com/python/cpython/pull/115440')
def test_ufunc(testdir):
pytest.importorskip('numpy')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest_doctestplus-1.4.0/tests/test_encoding.py
new/pytest_doctestplus-1.5.0/tests/test_encoding.py
--- old/pytest_doctestplus-1.4.0/tests/test_encoding.py 1970-01-01
01:00:00.000000000 +0100
+++ new/pytest_doctestplus-1.5.0/tests/test_encoding.py 2025-10-18
04:00:38.000000000 +0200
@@ -0,0 +1,185 @@
+import locale
+import os
+from pathlib import Path
+from textwrap import dedent
+from typing import Callable, Optional
+
+import pytest
+
+pytest_plugins = ["pytester"]
+IS_CI = os.getenv("CI", "false") == "true"
+
+
[email protected](
+ params=[
+ ("A", "a", "utf-8"),
+ ("☆", "★", "utf-8"),
+ ("b", "B", "cp1252"),
+ ("☁", "☀", "utf-8"),
+ ],
+ ids=[
+ "Aa-utf8",
+ "star-utf8",
+ "bB-cp1252",
+ "cloud-utf8",
+ ],
+)
+def charset(request):
+ return request.param
+
+
[email protected]()
+def basic_file(tmp_path: Path) -> Callable[[str, str, str], tuple[str, str,
str]]:
+
+ def makebasicfile(a, b, encoding: str) -> tuple[str, str, str]:
+ """alternative implementation without the use of
`testdir.makepyfile`."""
+
+ content = """
+ def f():
+ '''
+ >>> print('{}')
+ {}
+ '''
+ pass
+ """
+
+ original = dedent(content.format(a, b))
+ expected_result = dedent(content.format(a, a))
+
+ original_file = tmp_path.joinpath("test_basic.py")
+ original_file.write_text(original, encoding=encoding)
+
+ expected_diff = dedent(
+ f"""
+ >>> print('{a}')
+ - {b}
+ + {a}
+ """
+ ).strip("\n")
+
+ return str(original_file), expected_diff, expected_result
+
+ return makebasicfile
+
+
[email protected]()
+def ini_file(testdir) -> Callable[..., Path]:
+
+ def makeini(
+ encoding: Optional[str] = None,
+ ) -> Path:
+ """Create a pytest.ini file with the specified encoding."""
+
+ ini = ["[pytest]"]
+
+ if encoding is not None:
+ ini.append(f"doctest_encoding = {encoding}")
+
+ ini.append("")
+
+ p = testdir.makefile(".ini", pytest="\n".join(ini))
+
+ return Path(p)
+
+ return makeini
+
+
+def test_basic_file_encoding_diff(testdir, capsys, basic_file, charset,
ini_file):
+ """
+ Test the diff from console output is as expected.
+ """
+ a, b, encoding = charset
+
+ # create python file to test
+ file, diff, _ = basic_file(a, b, encoding)
+
+ # create pytest.ini file
+ ini = ini_file(encoding=encoding)
+ assert ini.is_file(), "setup pytest.ini not created/found"
+
+ testdir.inline_run(
+ file,
+ "--doctest-plus-generate-diff",
+ "-c",
+ str(ini),
+ )
+
+ stdout, _ = capsys.readouterr()
+ assert diff in stdout
+
+
+def test_basic_file_encoding_overwrite(testdir, basic_file, charset, ini_file):
+ """
+ Test that the file is overwritten with the expected content.
+ """
+
+ a, b, encoding = charset
+
+ # create python file to test
+ file, _, expected = basic_file(a, b, encoding)
+
+ # create pytest.ini file
+ ini = ini_file(encoding=encoding)
+ assert ini.is_file(), "setup pytest.ini not created/found"
+
+ testdir.inline_run(
+ file,
+ "--doctest-plus-generate-diff",
+ "overwrite",
+ "-c",
+ str(ini),
+ )
+
+ assert expected in Path(file).read_text(encoding)
+
+
[email protected](IS_CI, reason="skip on CI")
+def test_legacy_diff(testdir, capsys, basic_file, charset):
+ """
+ Legacy test are supported to fail on Windows, when no encoding is provided.
+
+ On Windows this is cp1252, so "utf-8" are expected to fail while writing
test files.
+ """
+ a, b, _ = charset
+
+ try:
+ file, diff, _ = basic_file(a, b, None)
+ except UnicodeEncodeError:
+ encoding = locale.getpreferredencoding(False)
+ reason = f"could not encode {repr(charset)} with {encoding=}"
+ pytest.xfail(reason=reason)
+
+ testdir.inline_run(
+ file,
+ "--doctest-plus-generate-diff",
+ )
+
+ stdout, _ = capsys.readouterr()
+
+ assert diff in stdout
+
+
[email protected](IS_CI, reason="skip on CI")
+def test_legacy_overwrite(testdir, basic_file, charset):
+ """
+ Legacy test are supported to fail on Windows, when no encoding is provided.
+
+ On Windows this is cp1252, so "utf-8" are expected to fail while writing
test files.
+ """
+
+ a, b, _encoding = charset
+
+ try:
+ file, _, expected = basic_file(a, b, None)
+ except UnicodeEncodeError:
+ encoding = locale.getpreferredencoding(False)
+ reason = f"could not encode {repr(charset)} with {encoding=}"
+ pytest.xfail(reason=reason)
+
+ testdir.inline_run(
+ file,
+ "--doctest-plus-generate-diff",
+ "overwrite",
+ )
+
+ assert expected in Path(file).read_text(_encoding)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest_doctestplus-1.4.0/tox.ini
new/pytest_doctestplus-1.5.0/tox.ini
--- old/pytest_doctestplus-1.4.0/tox.ini 2025-01-25 05:17:49.000000000
+0100
+++ new/pytest_doctestplus-1.5.0/tox.ini 2025-10-18 04:00:38.000000000
+0200
@@ -1,6 +1,6 @@
[tox]
envlist =
- py{39,310,311,312,313}-test
+ py{39,310,311,312,313,314}-test
codestyle
requires =
setuptools >= 30.3.0
@@ -9,6 +9,7 @@
[testenv]
changedir = .tmp/{envname}
+passenv = HOME,WINDIR,LC_ALL,LC_CTYPE,CI
setenv =
numpydev: PIP_EXTRA_INDEX_URL =
https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
description = run tests
@@ -30,6 +31,7 @@
pytest81: pytest==8.1.*
pytest82: pytest==8.2.*
pytest83: pytest==8.3.*
+ pytest84: pytest==8.4.*
pytestdev: git+https://github.com/pytest-dev/pytest#egg=pytest
numpydev: numpy>=0.0.dev0
pytestasyncio: pytest-asyncio