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

Reply via email to