Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-pybind11 for openSUSE:Factory checked in at 2023-03-21 17:40:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pybind11 (Old) and /work/SRC/openSUSE:Factory/.python-pybind11.new.31432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pybind11" Tue Mar 21 17:40:07 2023 rev:20 rq:1072929 version:2.10.4 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pybind11/python-pybind11.changes 2023-01-14 20:31:49.065248301 +0100 +++ /work/SRC/openSUSE:Factory/.python-pybind11.new.31432/python-pybind11.changes 2023-03-21 17:40:07.617428190 +0100 @@ -1,0 +2,12 @@ +Sun Mar 19 12:06:00 UTC 2023 - Dirk Müller <dmuel...@suse.com> + +- update to 2.10.4: + * ``python3 -m pybind11`` gained a ``--version`` option (prints + the version and exits). + * Fix a warning when pydebug is enabled on Python 3.11. + * Ensure ``gil_scoped_release`` RAII is non-copyable. + * Ensure the tests dir does not show up with new versions of + setuptools. + * Better stacklevel for a warning in setuptools helpers. + +------------------------------------------------------------------- Old: ---- pybind11-2.10.3.tar.gz New: ---- pybind11-2.10.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pybind11.spec ++++++ --- /var/tmp/diff_new_pack.KpdEWu/_old 2023-03-21 17:40:09.009434848 +0100 +++ /var/tmp/diff_new_pack.KpdEWu/_new 2023-03-21 17:40:09.013434867 +0100 @@ -1,5 +1,5 @@ # -# spec file for package python-pybind11 +# spec file # # Copyright (c) 2023 SUSE LLC # @@ -34,7 +34,7 @@ %define skip_python2 1 %define plainpython python Name: python-pybind11%{psuffix} -Version: 2.10.3 +Version: 2.10.4 Release: 0 Summary: Module for operability between C++11 and Python License: BSD-3-Clause ++++++ pybind11-2.10.3.tar.gz -> pybind11-2.10.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/.github/workflows/ci.yml new/pybind11-2.10.4/.github/workflows/ci.yml --- old/pybind11-2.10.3/.github/workflows/ci.yml 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/.github/workflows/ci.yml 2023-03-16 22:03:10.000000000 +0100 @@ -280,6 +280,8 @@ - dev std: - 11 + container_suffix: + - "" include: - clang: 5 std: 14 @@ -293,9 +295,12 @@ std: 20 - clang: 14 std: 20 + - clang: 15 + std: 20 + container_suffix: "-bullseye" name: "ð 3 ⢠Clang ${{ matrix.clang }} ⢠C++${{ matrix.std }} ⢠x64" - container: "silkeh/clang:${{ matrix.clang }}" + container: "silkeh/clang:${{ matrix.clang }}${{ matrix.container_suffix }}" steps: - uses: actions/checkout@v3 @@ -761,7 +766,7 @@ uses: jwlawson/actions-setup-cmake@v1.13 - name: Prepare MSVC - uses: ilammy/msvc-dev-cmd@v1.12.0 + uses: ilammy/msvc-dev-cmd@v1.12.1 with: arch: x86 @@ -814,7 +819,7 @@ uses: jwlawson/actions-setup-cmake@v1.13 - name: Prepare MSVC - uses: ilammy/msvc-dev-cmd@v1.12.0 + uses: ilammy/msvc-dev-cmd@v1.12.1 with: arch: x86 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/.github/workflows/pip.yml new/pybind11-2.10.4/.github/workflows/pip.yml --- old/pybind11-2.10.3/.github/workflows/pip.yml 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/.github/workflows/pip.yml 2023-03-16 22:03:10.000000000 +0100 @@ -98,13 +98,13 @@ - uses: actions/download-artifact@v3 - name: Publish standard package - uses: pypa/gh-action-pypi-publish@v1.6.4 + uses: pypa/gh-action-pypi-publish@v1.8.1 with: password: ${{ secrets.pypi_password }} - packages_dir: standard/ + packages-dir: standard/ - name: Publish global package - uses: pypa/gh-action-pypi-publish@v1.6.4 + uses: pypa/gh-action-pypi-publish@v1.8.1 with: password: ${{ secrets.pypi_password_global }} - packages_dir: global/ + packages-dir: global/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/.pre-commit-config.yaml new/pybind11-2.10.4/.pre-commit-config.yaml --- old/pybind11-2.10.3/.pre-commit-config.yaml 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/.pre-commit-config.yaml 2023-03-16 22:03:10.000000000 +0100 @@ -48,46 +48,46 @@ # Nicely sort includes - repo: https://github.com/PyCQA/isort - rev: "5.11.4" + rev: "5.12.0" hooks: - id: isort # Black, the code formatter, natively supports pre-commit - repo: https://github.com/psf/black - rev: "22.12.0" # Keep in sync with blacken-docs + rev: "23.1.0" # Keep in sync with blacken-docs hooks: - id: black # Also code format the docs - repo: https://github.com/asottile/blacken-docs - rev: "v1.12.1" + rev: "1.13.0" hooks: - id: blacken-docs additional_dependencies: - - black==22.10.0 # keep in sync with black hook + - black==23.1.0 # keep in sync with black hook # Changes tabs to spaces - repo: https://github.com/Lucas-C/pre-commit-hooks - rev: "v1.3.1" + rev: "v1.4.2" hooks: - id: remove-tabs - repo: https://github.com/sirosen/texthooks - rev: "0.4.0" + rev: "0.5.0" hooks: - id: fix-ligatures - id: fix-smartquotes # Autoremoves unused imports - repo: https://github.com/hadialqattan/pycln - rev: "v2.1.2" + rev: "v2.1.3" hooks: - id: pycln stages: [manual] # Checking for common mistakes - repo: https://github.com/pre-commit/pygrep-hooks - rev: "v1.9.0" + rev: "v1.10.0" hooks: - id: python-check-blanket-noqa - id: python-check-blanket-type-ignore @@ -116,7 +116,7 @@ # PyLint has native support - not always usable, but works for us - repo: https://github.com/PyCQA/pylint - rev: "v2.15.9" + rev: "v2.16.1" hooks: - id: pylint files: ^pybind11 @@ -175,7 +175,7 @@ # Clang format the codebase automatically - repo: https://github.com/pre-commit/mirrors-clang-format - rev: "v15.0.6" + rev: "v15.0.7" hooks: - id: clang-format types_or: [c++, c, cuda] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/MANIFEST.in new/pybind11-2.10.4/MANIFEST.in --- old/pybind11-2.10.3/MANIFEST.in 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/MANIFEST.in 2023-03-16 22:03:10.000000000 +0100 @@ -1,3 +1,4 @@ +prune tests recursive-include pybind11/include/pybind11 *.h recursive-include pybind11 *.py recursive-include pybind11 py.typed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/docs/changelog.rst new/pybind11-2.10.4/docs/changelog.rst --- old/pybind11-2.10.3/docs/changelog.rst 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/docs/changelog.rst 2023-03-16 22:03:10.000000000 +0100 @@ -21,11 +21,47 @@ ``dec_ref()`` are now enabled by default again. `#4246 <https://github.com/pybind/pybind11/pull/4246>`_ +* ``py::initialize_interpreter()`` using ``PyConfig_InitPythonConfig()`` + instead of ``PyConfig_InitIsolatedConfig()``, to obtain complete + ``sys.path``. + `#4473 <https://github.com/pybind/pybind11/pull/4473>`_ + +* Cast errors now always include Python type information, even if + ``PYBIND11_DETAILED_ERROR_MESSAGES`` is not defined. This increases binary + sizes slightly (~1.5%) but the error messages are much more informative. + `#4463 <https://github.com/pybind/pybind11/pull/4463>`_ + + Build system improvements: * Update clang-tidy to 15 in CI. `#4387 <https://github.com/pybind/pybind11/pull/4387>`_ +* Moved the linting framework over to Ruff. + `#4483 <https://github.com/pybind/pybind11/pull/4483>`_ + +Version 2.10.4 (Mar 16, 2023) +---------------------------- + +Changes: + +* ``python3 -m pybind11`` gained a ``--version`` option (prints the version and + exits). + `#4526 <https://github.com/pybind/pybind11/pull/4526>`_ + +Bug Fixes: + +* Fix a warning when pydebug is enabled on Python 3.11. + `#4461 <https://github.com/pybind/pybind11/pull/4461>`_ + +* Ensure ``gil_scoped_release`` RAII is non-copyable. + `#4490 <https://github.com/pybind/pybind11/pull/4490>`_ + +* Ensure the tests dir does not show up with new versions of setuptools. + `#4510 <https://github.com/pybind/pybind11/pull/4510>`_ + +* Better stacklevel for a warning in setuptools helpers. + `#4516 <https://github.com/pybind/pybind11/pull/4516>`_ Version 2.10.3 (Jan 3, 2023) ---------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/docs/conf.py new/pybind11-2.10.4/docs/conf.py --- old/pybind11-2.10.3/docs/conf.py 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/docs/conf.py 2023-03-16 22:03:10.000000000 +0100 @@ -358,7 +358,6 @@ def setup(app): - # Add hook for building doxygen xml when needed app.connect("builder-inited", generate_doxygen_xml) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/include/pybind11/detail/class.h new/pybind11-2.10.4/include/pybind11/detail/class.h --- old/pybind11-2.10.3/include/pybind11/detail/class.h 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/include/pybind11/detail/class.h 2023-03-16 22:03:10.000000000 +0100 @@ -445,9 +445,17 @@ /// Instance destructor function for all pybind11 types. It calls `type_info.dealloc` /// to destroy the C++ object itself, while the rest is Python bookkeeping. extern "C" inline void pybind11_object_dealloc(PyObject *self) { + auto *type = Py_TYPE(self); + + // If this is a GC tracked object, untrack it first + // Note that the track call is implicitly done by the + // default tp_alloc, which we never override. + if (PyType_HasFeature(type, Py_TPFLAGS_HAVE_GC) != 0) { + PyObject_GC_UnTrack(self); + } + clear_instance(self); - auto *type = Py_TYPE(self); type->tp_free(self); #if PY_VERSION_HEX < 0x03080000 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/include/pybind11/detail/common.h new/pybind11-2.10.4/include/pybind11/detail/common.h --- old/pybind11-2.10.3/include/pybind11/detail/common.h 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/include/pybind11/detail/common.h 2023-03-16 22:03:10.000000000 +0100 @@ -11,11 +11,11 @@ #define PYBIND11_VERSION_MAJOR 2 #define PYBIND11_VERSION_MINOR 10 -#define PYBIND11_VERSION_PATCH 3 +#define PYBIND11_VERSION_PATCH 4 // Similar to Python's convention: https://docs.python.org/3/c-api/apiabiversion.html // Additional convention: 0xD = dev -#define PYBIND11_VERSION_HEX 0x020A0300 +#define PYBIND11_VERSION_HEX 0x020A0400 // Define some generic pybind11 helper macros for warning management. // @@ -437,7 +437,7 @@ /** \rst This macro creates the entry point that will be invoked when the Python interpreter - imports an extension module. The module name is given as the fist argument and it + imports an extension module. The module name is given as the first argument and it should not be in quotes. The second macro argument defines a variable of type `py::module_` which can be used to initialize the module. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/include/pybind11/eigen/matrix.h new/pybind11-2.10.4/include/pybind11/eigen/matrix.h --- old/pybind11-2.10.3/include/pybind11/eigen/matrix.h 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/include/pybind11/eigen/matrix.h 2023-03-16 22:03:10.000000000 +0100 @@ -19,7 +19,9 @@ PYBIND11_WARNING_PUSH PYBIND11_WARNING_DISABLE_MSVC(5054) // https://github.com/pybind/pybind11/pull/3741 // C5054: operator '&': deprecated between enumerations of different types +#if defined(__MINGW32__) PYBIND11_WARNING_DISABLE_GCC("-Wmaybe-uninitialized") +#endif #include <Eigen/Core> #include <Eigen/SparseCore> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/include/pybind11/eigen/tensor.h new/pybind11-2.10.4/include/pybind11/eigen/tensor.h --- old/pybind11-2.10.3/include/pybind11/eigen/tensor.h 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/include/pybind11/eigen/tensor.h 2023-03-16 22:03:10.000000000 +0100 @@ -17,7 +17,9 @@ PYBIND11_WARNING_PUSH PYBIND11_WARNING_DISABLE_MSVC(4554) PYBIND11_WARNING_DISABLE_MSVC(4127) +#if defined(__MINGW32__) PYBIND11_WARNING_DISABLE_GCC("-Wmaybe-uninitialized") +#endif #include <unsupported/Eigen/CXX11/Tensor> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/include/pybind11/gil.h new/pybind11-2.10.4/include/pybind11/gil.h --- old/pybind11-2.10.3/include/pybind11/gil.h 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/include/pybind11/gil.h 2023-03-16 22:03:10.000000000 +0100 @@ -152,8 +152,8 @@ } } - gil_scoped_release(const gil_scoped_acquire &) = delete; - gil_scoped_release &operator=(const gil_scoped_acquire &) = delete; + gil_scoped_release(const gil_scoped_release &) = delete; + gil_scoped_release &operator=(const gil_scoped_release &) = delete; /// This method will disable the PyThreadState_DeleteCurrent call and the /// GIL won't be acquired. This method should be used if the interpreter @@ -203,7 +203,7 @@ public: gil_scoped_release() : state{PyEval_SaveThread()} {} gil_scoped_release(const gil_scoped_release &) = delete; - gil_scoped_release &operator=(const gil_scoped_acquire &) = delete; + gil_scoped_release &operator=(const gil_scoped_release &) = delete; ~gil_scoped_release() { PyEval_RestoreThread(state); } void disarm() {} }; @@ -230,7 +230,7 @@ (void) (this != (this + 1)); } gil_scoped_release(const gil_scoped_release &) = delete; - gil_scoped_release &operator=(const gil_scoped_acquire &) = delete; + gil_scoped_release &operator=(const gil_scoped_release &) = delete; void disarm() {} }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/include/pybind11/numpy.h new/pybind11-2.10.4/include/pybind11/numpy.h --- old/pybind11-2.10.3/include/pybind11/numpy.h 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/include/pybind11/numpy.h 2023-03-16 22:03:10.000000000 +0100 @@ -1121,10 +1121,10 @@ /** * Returns a proxy object that provides const access to the array's data without bounds or - * dimensionality checking. Unlike `unchecked()`, this does not require that the underlying - * array have the `writable` flag. Use with care: the array must not be destroyed or reshaped - * for the duration of the returned object, and the caller must take care not to access invalid - * dimensions or dimension indices. + * dimensionality checking. Unlike `mutable_unchecked()`, this does not require that the + * underlying array have the `writable` flag. Use with care: the array must not be destroyed + * or reshaped for the duration of the returned object, and the caller must take care not to + * access invalid dimensions or dimension indices. */ template <ssize_t Dims = -1> detail::unchecked_reference<T, Dims> unchecked() const & { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/pybind11/__main__.py new/pybind11-2.10.4/pybind11/__main__.py --- old/pybind11-2.10.3/pybind11/__main__.py 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/pybind11/__main__.py 2023-03-16 22:03:10.000000000 +0100 @@ -4,6 +4,7 @@ import sys import sysconfig +from ._version import __version__ from .commands import get_cmake_dir, get_include, get_pkgconfig_dir @@ -24,9 +25,14 @@ def main() -> None: - parser = argparse.ArgumentParser() parser.add_argument( + "--version", + action="version", + version=__version__, + help="Print the version and exit.", + ) + parser.add_argument( "--includes", action="store_true", help="Include flags for both pybind11 and Python headers.", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/pybind11/_version.py new/pybind11-2.10.4/pybind11/_version.py --- old/pybind11-2.10.3/pybind11/_version.py 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/pybind11/_version.py 2023-03-16 22:03:10.000000000 +0100 @@ -8,5 +8,5 @@ return s -__version__ = "2.10.3" +__version__ = "2.10.4" version_info = tuple(_to_int(s) for s in __version__.split(".")) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/pybind11/setup_helpers.py new/pybind11-2.10.4/pybind11/setup_helpers.py --- old/pybind11-2.10.3/pybind11/setup_helpers.py 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/pybind11/setup_helpers.py 2023-03-16 22:03:10.000000000 +0100 @@ -118,7 +118,6 @@ self.extra_link_args[:0] = flags def __init__(self, *args: Any, **kwargs: Any) -> None: - self._cxx_level = 0 cxx_std = kwargs.pop("cxx_std", 0) @@ -174,9 +173,10 @@ @cxx_std.setter def cxx_std(self, level: int) -> None: - if self._cxx_level: - warnings.warn("You cannot safely change the cxx_level after setting it!") + warnings.warn( + "You cannot safely change the cxx_level after setting it!", stacklevel=2 + ) # MSVC 2015 Update 3 and later only have 14 (and later 17) modes, so # force a valid flag here. @@ -439,7 +439,6 @@ extra_postargs: Optional[List[str]] = None, depends: Optional[List[str]] = None, ) -> Any: - # These lines are directly from distutils.ccompiler.CCompiler macros, objects, extra_postargs, pp_opts, build = compiler._setup_compile( # type: ignore[attr-defined] output_dir, macros, include_dirs, sources, depends, extra_postargs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/tests/CMakeLists.txt new/pybind11-2.10.4/tests/CMakeLists.txt --- old/pybind11-2.10.3/tests/CMakeLists.txt 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/tests/CMakeLists.txt 2023-03-16 22:03:10.000000000 +0100 @@ -169,7 +169,7 @@ # This allows the override to be done with extensions, preserving backwards compatibility. foreach(test_name ${TEST_FILES_NO_EXT}) if(NOT ${test_name} IN_LIST TEST_OVERRIDE_NO_EXT - )# If not in the whitelist, add to be filtered out. + )# If not in the allowlist, add to be filtered out. list(APPEND PYBIND11_TEST_FILTER ${test_name}) endif() endforeach() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/tests/conftest.py new/pybind11-2.10.4/tests/conftest.py --- old/pybind11-2.10.3/tests/conftest.py 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/tests/conftest.py 2023-03-16 22:03:10.000000000 +0100 @@ -11,11 +11,17 @@ import os import re import textwrap +import traceback import pytest # Early diagnostic for failed imports -import pybind11_tests +try: + import pybind11_tests +except Exception: + # pytest does not show the traceback without this. + traceback.print_exc() + raise @pytest.fixture(scope="session", autouse=True) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/tests/extra_python_package/test_files.py new/pybind11-2.10.4/tests/extra_python_package/test_files.py --- old/pybind11-2.10.3/tests/extra_python_package/test_files.py 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/tests/extra_python_package/test_files.py 2023-03-16 22:03:10.000000000 +0100 @@ -135,7 +135,6 @@ def test_build_sdist(monkeypatch, tmpdir): - monkeypatch.chdir(MAIN_DIR) subprocess.run( @@ -186,7 +185,6 @@ def test_build_global_dist(monkeypatch, tmpdir): - monkeypatch.chdir(MAIN_DIR) monkeypatch.setenv("PYBIND11_GLOBAL_SDIST", "1") subprocess.run( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/tests/test_chrono.py new/pybind11-2.10.4/tests/test_chrono.py --- old/pybind11-2.10.3/tests/test_chrono.py 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/tests/test_chrono.py 2023-03-16 22:03:10.000000000 +0100 @@ -7,7 +7,6 @@ def test_chrono_system_clock(): - # Get the time from both c++ and datetime date0 = datetime.datetime.today() date1 = m.test_chrono1() @@ -122,7 +121,6 @@ def test_chrono_duration_roundtrip(): - # Get the difference between two times (a timedelta) date1 = datetime.datetime.today() date2 = datetime.datetime.today() @@ -143,7 +141,6 @@ def test_chrono_duration_subtraction_equivalence(): - date1 = datetime.datetime.today() date2 = datetime.datetime.today() @@ -154,7 +151,6 @@ def test_chrono_duration_subtraction_equivalence_date(): - date1 = datetime.date.today() date2 = datetime.date.today() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/tests/test_class.py new/pybind11-2.10.4/tests/test_class.py --- old/pybind11-2.10.3/tests/test_class.py 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/tests/test_class.py 2023-03-16 22:03:10.000000000 +0100 @@ -185,7 +185,6 @@ def test_inheritance_init(msg): - # Single base class Python(m.Pet): def __init__(self): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/tests/test_custom_type_casters.py new/pybind11-2.10.4/tests/test_custom_type_casters.py --- old/pybind11-2.10.3/tests/test_custom_type_casters.py 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/tests/test_custom_type_casters.py 2023-03-16 22:03:10.000000000 +0100 @@ -94,7 +94,8 @@ def test_custom_caster_destruction(): """Tests that returning a pointer to a type that gets converted with a custom type caster gets - destroyed when the function has py::return_value_policy::take_ownership policy applied.""" + destroyed when the function has py::return_value_policy::take_ownership policy applied. + """ cstats = m.destruction_tester_cstats() # This one *doesn't* have take_ownership: the pointer should be used but not destroyed: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/tests/test_eigen_tensor.py new/pybind11-2.10.4/tests/test_eigen_tensor.py --- old/pybind11-2.10.3/tests/test_eigen_tensor.py 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/tests/test_eigen_tensor.py 2023-03-16 22:03:10.000000000 +0100 @@ -59,7 +59,6 @@ @pytest.mark.parametrize("m", submodules) @pytest.mark.parametrize("member_name", ["member", "member_view"]) def test_reference_internal(m, member_name): - if not hasattr(sys, "getrefcount"): pytest.skip("No reference counting") foo = m.CustomExample() @@ -108,7 +107,6 @@ @pytest.mark.parametrize("m", submodules) def test_bad_cpp_to_python_casts(m): - with pytest.raises( RuntimeError, match="Cannot use reference internal when there is no parent" ): @@ -131,7 +129,6 @@ @pytest.mark.parametrize("m", submodules) def test_bad_python_to_cpp_casts(m): - with pytest.raises( TypeError, match=r"^round_trip_tensor\(\): incompatible function arguments" ): @@ -194,7 +191,6 @@ @pytest.mark.parametrize("m", submodules) def test_references_actually_refer(m): - a = m.reference_tensor() temp = a[indices] a[indices] = 100 @@ -211,7 +207,6 @@ @pytest.mark.parametrize("m", submodules) def test_round_trip(m): - assert_equal_tensor_ref(m.round_trip_tensor(tensor_ref)) with pytest.raises(TypeError, match="^Cannot cast array data from"): @@ -260,7 +255,6 @@ @pytest.mark.parametrize("m", submodules) def test_round_trip_references_actually_refer(m): - # Need to create a copy that matches the type on the C side copy = np.array(tensor_ref, dtype=np.float64, order=m.needed_options) a = m.round_trip_view_tensor(copy) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/tests/test_local_bindings.py new/pybind11-2.10.4/tests/test_local_bindings.py --- old/pybind11-2.10.3/tests/test_local_bindings.py 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/tests/test_local_bindings.py 2023-03-16 22:03:10.000000000 +0100 @@ -130,7 +130,8 @@ def test_mixed_local_global(): """Local types take precedence over globally registered types: a module with a `module_local` type can be registered even if the type is already registered globally. With the module, - casting will go to the local type; outside the module casting goes to the global type.""" + casting will go to the local type; outside the module casting goes to the global type. + """ import pybind11_cross_module_tests as cm m.register_mixed_global() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/tests/test_modules.py new/pybind11-2.10.4/tests/test_modules.py --- old/pybind11-2.10.3/tests/test_modules.py 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/tests/test_modules.py 2023-03-16 22:03:10.000000000 +0100 @@ -107,11 +107,10 @@ sm_name_orig = sm.__name__ sm.__name__ = malformed_utf8 try: - with pytest.raises(Exception): - # Seen with Python 3.9: SystemError: nameless module - # But we do not want to exercise the internals of PyModule_GetName(), which could - # change in future versions of Python, but a bad __name__ is very likely to cause - # some kind of failure indefinitely. + # We want to assert that a bad __name__ causes some kind of failure, although we do not want to exercise + # the internals of PyModule_GetName(). Currently all supported Python versions raise SystemError. If that + # changes in future Python versions, simply add the new expected exception types here. + with pytest.raises(SystemError): m.def_submodule(sm, b"SubSubModuleName") finally: # Clean up to ensure nothing gets upset by a module with an invalid __name__. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pybind11-2.10.3/tests/test_operator_overloading.py new/pybind11-2.10.4/tests/test_operator_overloading.py --- old/pybind11-2.10.3/tests/test_operator_overloading.py 2023-01-03 17:34:53.000000000 +0100 +++ new/pybind11-2.10.4/tests/test_operator_overloading.py 2023-03-16 22:03:10.000000000 +0100 @@ -130,7 +130,6 @@ def test_overriding_eq_reset_hash(): - assert m.Comparable(15) is not m.Comparable(15) assert m.Comparable(15) == m.Comparable(15)