Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-zope.testbrowser for openSUSE:Factory checked in at 2024-06-10 17:38:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-zope.testbrowser (Old) and /work/SRC/openSUSE:Factory/.python-zope.testbrowser.new.19518 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-zope.testbrowser" Mon Jun 10 17:38:11 2024 rev:16 rq:1179663 version:7.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-zope.testbrowser/python-zope.testbrowser.changes 2023-04-04 21:26:50.739381481 +0200 +++ /work/SRC/openSUSE:Factory/.python-zope.testbrowser.new.19518/python-zope.testbrowser.changes 2024-06-10 17:38:30.552897244 +0200 @@ -1,0 +2,8 @@ +Mon Jun 10 09:12:39 UTC 2024 - Dirk Müller <dmueller@suse.com> + +- update to 7.0: + * Add support for Python 3.12 and 3.13 as of 3.13b1. + * Drop support for Python 3.7. +- use PEP517 build + +------------------------------------------------------------------- Old: ---- zope.testbrowser-6.0.tar.gz New: ---- zope.testbrowser-7.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-zope.testbrowser.spec ++++++ --- /var/tmp/diff_new_pack.UAiFCs/_old 2024-06-10 17:38:32.060953031 +0200 +++ /var/tmp/diff_new_pack.UAiFCs/_new 2024-06-10 17:38:32.076953623 +0200 @@ -1,7 +1,7 @@ # -# spec file +# spec file for package python-zope.testbrowser # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -25,13 +25,16 @@ %bcond_with test %endif Name: python-zope.testbrowser%{psuffix} -Version: 6.0 +Version: 7.0 Release: 0 Summary: Programmable browser for functional black-box tests License: ZPL-2.1 URL: https://github.com/zopefoundation/zope.testbrowser Source: https://files.pythonhosted.org/packages/source/z/zope.testbrowser/zope.testbrowser-%{version}.tar.gz +BuildRequires: %{python_module base >= 3.8} +BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-WSGIProxy2 @@ -74,12 +77,12 @@ %build %if !%{with test} -%python_build +%pyproject_wheel %endif %install %if !%{with test} -%python_install +%pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %endif @@ -94,6 +97,9 @@ %if !%{with test} %doc CHANGES.rst README.rst %license LICENSE.rst -%{python_sitelib}/zope* +%dir %{python_sitelib}/zope +%{python_sitelib}/zope/testbrowser +%{python_sitelib}/zope.testbrowser-%{version}-py*-nspkg.pth +%{python_sitelib}/zope.testbrowser-%{version}.dist-info %endif ++++++ zope.testbrowser-6.0.tar.gz -> zope.testbrowser-7.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/.readthedocs.yaml new/zope.testbrowser-7.0/.readthedocs.yaml --- old/zope.testbrowser-6.0/.readthedocs.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/zope.testbrowser-7.0/.readthedocs.yaml 2024-05-31 09:35:28.000000000 +0200 @@ -0,0 +1,25 @@ +# Generated from: +# https://github.com/zopefoundation/meta/tree/master/config/pure-python +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Set the version of Python and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "3.11" + +# Build documentation in the docs/ directory with Sphinx +sphinx: + configuration: docs/conf.py + +# We recommend specifying your dependencies to enable reproducible builds: +# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html +python: + install: + - requirements: docs/requirements.txt + - method: pip + path: . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/CHANGES.rst new/zope.testbrowser-7.0/CHANGES.rst --- old/zope.testbrowser-6.0/CHANGES.rst 2023-03-27 13:37:59.000000000 +0200 +++ new/zope.testbrowser-7.0/CHANGES.rst 2024-05-31 10:41:26.000000000 +0200 @@ -2,6 +2,14 @@ CHANGES ======= +7.0 (2024-05-31) +---------------- + +- Add support for Python 3.12 and 3.13 as of 3.13b1. + +- Drop support for Python 3.7. + + 6.0 (2023-03-27) ---------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/MANIFEST.in new/zope.testbrowser-7.0/MANIFEST.in --- old/zope.testbrowser-6.0/MANIFEST.in 2023-03-27 13:37:59.000000000 +0200 +++ new/zope.testbrowser-7.0/MANIFEST.in 2024-05-31 09:35:28.000000000 +0200 @@ -12,6 +12,7 @@ recursive-include docs Makefile recursive-include src *.py +include *.yaml recursive-include docs *.bat recursive-include src *.gif recursive-include src *.html diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/PKG-INFO new/zope.testbrowser-7.0/PKG-INFO --- old/zope.testbrowser-6.0/PKG-INFO 2023-03-27 13:38:00.359445600 +0200 +++ new/zope.testbrowser-7.0/PKG-INFO 2024-05-31 10:45:37.357989300 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: zope.testbrowser -Version: 6.0 +Version: 7.0 Summary: Programmable browser for functional black-box tests Home-page: https://github.com/zopefoundation/zope.testbrowser Author: Zope Corporation and Contributors @@ -12,21 +12,40 @@ Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: Zope Public License Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Software Development :: Testing Classifier: Topic :: Internet :: WWW/HTTP -Requires-Python: >=3.7 +Requires-Python: >=3.8 +License-File: LICENSE.rst +Requires-Dist: setuptools +Requires-Dist: zope.interface +Requires-Dist: zope.schema +Requires-Dist: zope.cachedescriptors +Requires-Dist: pytz +Requires-Dist: WebTest>=2.0.30 +Requires-Dist: BeautifulSoup4 +Requires-Dist: SoupSieve>=1.9.0 +Requires-Dist: WSGIProxy2 +Requires-Dist: legacy-cgi; python_version > "3.12" Provides-Extra: docs +Requires-Dist: Sphinx; extra == "docs" +Requires-Dist: sphinx_rtd_theme; extra == "docs" +Requires-Dist: repoze.sphinx.autointerface; extra == "docs" +Requires-Dist: zope.app.wsgi; extra == "docs" Provides-Extra: test -Provides-Extra: test_bbb +Requires-Dist: zope.testing; extra == "test" +Requires-Dist: mock; extra == "test" +Requires-Dist: zope.testrunner; extra == "test" +Provides-Extra: test-bbb +Requires-Dist: zope.testbrowser[test]; extra == "test-bbb" Provides-Extra: wsgi -License-File: LICENSE.rst ``zope.testbrowser`` README =========================== @@ -35,10 +54,13 @@ :target: https://pypi.org/project/zope.testbrowser/ :alt: Latest Version +.. image:: https://img.shields.io/pypi/pyversions/zope.testbrowser.svg + :target: https://pypi.org/project/zope.testbrowser/ + :alt: Supported Python versions + .. image:: https://github.com/zopefoundation/zope.testbrowser/actions/workflows/tests.y... :target: https://github.com/zopefoundation/zope.testbrowser/actions/workflows/tests.y... - .. image:: https://readthedocs.org/projects/zopetestbrowser/badge/?version=latest :target: http://zopetestbrowser.readthedocs.org/en/latest/ :alt: Documentation Status @@ -55,6 +77,14 @@ CHANGES ======= +7.0 (2024-05-31) +---------------- + +- Add support for Python 3.12 and 3.13 as of 3.13b1. + +- Drop support for Python 3.7. + + 6.0 (2023-03-27) ---------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/README.rst new/zope.testbrowser-7.0/README.rst --- old/zope.testbrowser-6.0/README.rst 2023-03-27 13:37:59.000000000 +0200 +++ new/zope.testbrowser-7.0/README.rst 2024-05-31 10:41:07.000000000 +0200 @@ -5,10 +5,13 @@ :target: https://pypi.org/project/zope.testbrowser/ :alt: Latest Version +.. image:: https://img.shields.io/pypi/pyversions/zope.testbrowser.svg + :target: https://pypi.org/project/zope.testbrowser/ + :alt: Supported Python versions + .. image:: https://github.com/zopefoundation/zope.testbrowser/actions/workflows/tests.y... :target: https://github.com/zopefoundation/zope.testbrowser/actions/workflows/tests.y... - .. image:: https://readthedocs.org/projects/zopetestbrowser/badge/?version=latest :target: http://zopetestbrowser.readthedocs.org/en/latest/ :alt: Documentation Status diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/docs/conf.py new/zope.testbrowser-7.0/docs/conf.py --- old/zope.testbrowser-6.0/docs/conf.py 2023-03-27 13:37:59.000000000 +0200 +++ new/zope.testbrowser-7.0/docs/conf.py 2024-05-31 09:34:08.000000000 +0200 @@ -134,7 +134,7 @@ # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] +# html_static_path = ['_static'] # Add any extra paths that contain custom files (such as robots.txt or # .htaccess) here, relative to this directory. These files are copied @@ -266,4 +266,4 @@ # Example configuration for intersphinx: refer to the Python standard library. -intersphinx_mapping = {'http://docs.python.org/': None} +intersphinx_mapping = {'python': ('http://docs.python.org/', None)} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/docs/narrative.rst new/zope.testbrowser-7.0/docs/narrative.rst --- old/zope.testbrowser-6.0/docs/narrative.rst 2023-03-27 13:37:59.000000000 +0200 +++ new/zope.testbrowser-7.0/docs/narrative.rst 2024-05-31 09:34:08.000000000 +0200 @@ -245,9 +245,9 @@ .. doctest:: - >>> from six.moves import http_client + >>> import http.client >>> browser.open('http://localhost/@@/testbrowser/simple.html') - >>> isinstance(browser.headers, http_client.HTTPMessage) + >>> isinstance(browser.headers, http.client.HTTPMessage) True The headers can be accessed as a string: @@ -257,7 +257,7 @@ >>> print(browser.headers) ... # doctest: +NORMALIZE_WHITESPACE Status: 200 OK - Content-Length: 109 + Content-Length: ... Content-Type: text/html; charset=UTF-8 Or as a mapping: @@ -380,7 +380,7 @@ .. doctest:: >>> browser.open('http://localhost/@@/testbrowser/navigate.html') - >>> browser.contents + >>> browser.contents.replace('\r', '') '...> Link Text \n with Whitespace\tNormalization (and parens) </...' >>> link = browser.getLink('Link Text with Whitespace Normalization ' ... '(and parens)') @@ -1002,7 +1002,7 @@ <Control name='textarea-value' type='textarea'> >>> verifyObject(interfaces.IControl, ctrl) True - >>> ctrl.value + >>> ctrl.value.replace('\r', '') ' Text inside\n area!\n ' >>> ctrl.value = 'A lot of\n text.' >>> ctrl.disabled diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/docs/requirements.txt new/zope.testbrowser-7.0/docs/requirements.txt --- old/zope.testbrowser-6.0/docs/requirements.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/zope.testbrowser-7.0/docs/requirements.txt 2024-05-31 09:34:08.000000000 +0200 @@ -0,0 +1,2 @@ +Sphinx +repoze.sphinx.autointerface diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/rtd.txt new/zope.testbrowser-7.0/rtd.txt --- old/zope.testbrowser-6.0/rtd.txt 2023-03-27 13:37:59.000000000 +0200 +++ new/zope.testbrowser-7.0/rtd.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -repoze.sphinx.autointerface -zope.testbrowser diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/setup.cfg new/zope.testbrowser-7.0/setup.cfg --- old/zope.testbrowser-6.0/setup.cfg 2023-03-27 13:38:00.360248000 +0200 +++ new/zope.testbrowser-7.0/setup.cfg 2024-05-31 10:45:37.358329000 +0200 @@ -1,6 +1,3 @@ -[bdist_wheel] -universal = 0 - [flake8] doctests = 1 @@ -15,7 +12,7 @@ force_single_line = True combine_as_imports = True sections = FUTURE,STDLIB,THIRDPARTY,ZOPE,FIRSTPARTY,LOCALFOLDER -known_third_party = six, docutils, pkg_resources +known_third_party = docutils, pkg_resources, pytz known_zope = known_first_party = default_section = ZOPE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/setup.py new/zope.testbrowser-7.0/setup.py --- old/zope.testbrowser-6.0/setup.py 2023-03-27 13:37:59.000000000 +0200 +++ new/zope.testbrowser-7.0/setup.py 2024-05-31 10:41:40.000000000 +0200 @@ -29,7 +29,7 @@ setup( name='zope.testbrowser', - version='6.0', + version='7.0', url='https://github.com/zopefoundation/zope.testbrowser', license='ZPL 2.1', project_urls={ @@ -44,11 +44,12 @@ 'Intended Audience :: Developers', 'License :: OSI Approved :: Zope Public License', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', 'Programming Language :: Python :: Implementation :: CPython', 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Software Development :: Testing', @@ -58,7 +59,7 @@ packages=find_packages('src'), package_dir={'': 'src'}, namespace_packages=['zope'], - python_requires='>=3.7', + python_requires='>=3.8', install_requires=[ 'setuptools', 'zope.interface', @@ -69,6 +70,7 @@ 'BeautifulSoup4', 'SoupSieve >= 1.9.0', 'WSGIProxy2', + 'legacy-cgi; python_version > "3.12"', # WebOb uses the cgi module ], extras_require={ 'docs': [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/src/zope/testbrowser/cookies.py new/zope.testbrowser-7.0/src/zope/testbrowser/cookies.py --- old/zope.testbrowser-6.0/src/zope/testbrowser/cookies.py 2023-03-27 13:37:59.000000000 +0200 +++ new/zope.testbrowser-7.0/src/zope/testbrowser/cookies.py 2024-05-31 09:34:08.000000000 +0200 @@ -21,6 +21,7 @@ from urllib.parse import quote as url_quote import pytz + import zope.interface from zope.testbrowser import interfaces @@ -201,8 +202,6 @@ def __iter__(self): return (ck.name for ck in self._get_cookies()) - iterkeys = __iter__ - def iterinfo(self, key=None): return (self._getinfo(ck) for ck in self._get_cookies(key)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/src/zope/testbrowser/over_the_wire.txt new/zope.testbrowser-7.0/src/zope/testbrowser/over_the_wire.txt --- old/zope.testbrowser-6.0/src/zope/testbrowser/over_the_wire.txt 2023-03-27 13:37:59.000000000 +0200 +++ new/zope.testbrowser-7.0/src/zope/testbrowser/over_the_wire.txt 2024-05-31 09:34:08.000000000 +0200 @@ -18,5 +18,5 @@ >>> browser.open('https://www.w3.org') >>> print(browser.contents) - <!DOCTYPE html ... - ...The World Wide Web Consortium (W3C) is an international community... + <!doctype html> + ...<h1>Making the Web work</h1>... diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/src/zope/testbrowser/tests/helper.py new/zope.testbrowser-7.0/src/zope/testbrowser/tests/helper.py --- old/zope.testbrowser-6.0/src/zope/testbrowser/tests/helper.py 2023-03-27 13:37:59.000000000 +0200 +++ new/zope.testbrowser-7.0/src/zope/testbrowser/tests/helper.py 2024-05-31 09:34:08.000000000 +0200 @@ -26,14 +26,9 @@ (re.compile(r'boundary=\S+\.\S+\.\S+'), 'boundary=' + '-' * 30), (re.compile(r'^---{10}.*', re.M), '-' * 30), (re.compile(r'boundary=-{10}.*'), 'boundary=' + '-' * 30), - (re.compile(r'User-agent:\s+\S+'), 'User-agent: Python-urllib/2.4'), - (re.compile(r'HTTP_USER_AGENT:\s+\S+'), - 'HTTP_USER_AGENT: Python-urllib/2.4'), (re.compile(r'Content-[Ll]ength:.*'), 'Content-Length: 123'), (re.compile(r'Status: 200.*'), 'Status: 200 OK'), (win32CRLFtransformer(), None), - (re.compile(r'User-Agent: Python-urllib/2.[567]'), - 'User-agent: Python-urllib/2.4'), # (re.compile(r'Host: localhost(:80)?'), 'Connection: close'), (re.compile(r'Content-Type: '), 'Content-type: '), (re.compile(r'Content-Disposition: '), 'Content-disposition: '), @@ -44,27 +39,6 @@ r"59, 59, tzinfo=<UTC>\),"), "'expires': datetime.datetime(2030, 1, 1, 0, 0, tzinfo=<UTC>),"), - # python3 formats exceptions differently - (re.compile(r'zope.testbrowser.browser.BrowserStateError'), - 'BrowserStateError'), - (re.compile(r'zope.testbrowser.interfaces.ExpiredError'), - 'ExpiredError'), - (re.compile(r'zope.testbrowser.browser.LinkNotFoundError'), - 'LinkNotFoundError'), - (re.compile(r'zope.testbrowser.browser.AmbiguityError'), - 'AmbiguityError'), - (re.compile(r'zope.testbrowser.ftests.wsgitestapp.NotFound'), - 'NotFound'), - (re.compile(r'zope.testbrowser.interfaces.AlreadyExpiredError'), - 'AlreadyExpiredError'), - (re.compile(r'zope.testbrowser.browser.RobotExclusionError'), - 'RobotExclusionError'), - (re.compile(r'urllib.error.HTTPError'), - 'HTTPError'), - - - # In py3 HTTPMessage class was moved and represented differently - (re.compile(r'<http.client.HTTPMessage object'), - '<httplib.HTTPMessage instance'), - # (re.compile(r''), ''), + # Ignore output returned by GHA for PyPy3 + (re.compile('/etc/ssl/certs/ca-certificates.crt /etc/ssl/certs'), ''), ]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/src/zope.testbrowser.egg-info/PKG-INFO new/zope.testbrowser-7.0/src/zope.testbrowser.egg-info/PKG-INFO --- old/zope.testbrowser-6.0/src/zope.testbrowser.egg-info/PKG-INFO 2023-03-27 13:38:00.000000000 +0200 +++ new/zope.testbrowser-7.0/src/zope.testbrowser.egg-info/PKG-INFO 2024-05-31 10:45:37.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: zope.testbrowser -Version: 6.0 +Version: 7.0 Summary: Programmable browser for functional black-box tests Home-page: https://github.com/zopefoundation/zope.testbrowser Author: Zope Corporation and Contributors @@ -12,21 +12,40 @@ Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: Zope Public License Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Software Development :: Testing Classifier: Topic :: Internet :: WWW/HTTP -Requires-Python: >=3.7 +Requires-Python: >=3.8 +License-File: LICENSE.rst +Requires-Dist: setuptools +Requires-Dist: zope.interface +Requires-Dist: zope.schema +Requires-Dist: zope.cachedescriptors +Requires-Dist: pytz +Requires-Dist: WebTest>=2.0.30 +Requires-Dist: BeautifulSoup4 +Requires-Dist: SoupSieve>=1.9.0 +Requires-Dist: WSGIProxy2 +Requires-Dist: legacy-cgi; python_version > "3.12" Provides-Extra: docs +Requires-Dist: Sphinx; extra == "docs" +Requires-Dist: sphinx_rtd_theme; extra == "docs" +Requires-Dist: repoze.sphinx.autointerface; extra == "docs" +Requires-Dist: zope.app.wsgi; extra == "docs" Provides-Extra: test -Provides-Extra: test_bbb +Requires-Dist: zope.testing; extra == "test" +Requires-Dist: mock; extra == "test" +Requires-Dist: zope.testrunner; extra == "test" +Provides-Extra: test-bbb +Requires-Dist: zope.testbrowser[test]; extra == "test-bbb" Provides-Extra: wsgi -License-File: LICENSE.rst ``zope.testbrowser`` README =========================== @@ -35,10 +54,13 @@ :target: https://pypi.org/project/zope.testbrowser/ :alt: Latest Version +.. image:: https://img.shields.io/pypi/pyversions/zope.testbrowser.svg + :target: https://pypi.org/project/zope.testbrowser/ + :alt: Supported Python versions + .. image:: https://github.com/zopefoundation/zope.testbrowser/actions/workflows/tests.y... :target: https://github.com/zopefoundation/zope.testbrowser/actions/workflows/tests.y... - .. image:: https://readthedocs.org/projects/zopetestbrowser/badge/?version=latest :target: http://zopetestbrowser.readthedocs.org/en/latest/ :alt: Documentation Status @@ -55,6 +77,14 @@ CHANGES ======= +7.0 (2024-05-31) +---------------- + +- Add support for Python 3.12 and 3.13 as of 3.13b1. + +- Drop support for Python 3.7. + + 6.0 (2023-03-27) ---------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/src/zope.testbrowser.egg-info/SOURCES.txt new/zope.testbrowser-7.0/src/zope.testbrowser.egg-info/SOURCES.txt --- old/zope.testbrowser-6.0/src/zope.testbrowser.egg-info/SOURCES.txt 2023-03-27 13:38:00.000000000 +0200 +++ new/zope.testbrowser-7.0/src/zope.testbrowser.egg-info/SOURCES.txt 2024-05-31 10:45:37.000000000 +0200 @@ -1,3 +1,4 @@ +.readthedocs.yaml CHANGES.rst CONTRIBUTING.md COPYRIGHT.rst @@ -5,7 +6,6 @@ MANIFEST.in README.rst buildout.cfg -rtd.txt setup.cfg setup.py tox.ini @@ -16,6 +16,7 @@ docs/index.rst docs/make.bat docs/narrative.rst +docs/requirements.txt src/zope/__init__.py src/zope.testbrowser.egg-info/PKG-INFO src/zope.testbrowser.egg-info/SOURCES.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/src/zope.testbrowser.egg-info/requires.txt new/zope.testbrowser-7.0/src/zope.testbrowser.egg-info/requires.txt --- old/zope.testbrowser-6.0/src/zope.testbrowser.egg-info/requires.txt 2023-03-27 13:38:00.000000000 +0200 +++ new/zope.testbrowser-7.0/src/zope.testbrowser.egg-info/requires.txt 2024-05-31 10:45:37.000000000 +0200 @@ -8,6 +8,9 @@ SoupSieve>=1.9.0 WSGIProxy2 +[:python_version > "3.12"] +legacy-cgi + [docs] Sphinx sphinx_rtd_theme diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zope.testbrowser-6.0/tox.ini new/zope.testbrowser-7.0/tox.ini --- old/zope.testbrowser-6.0/tox.ini 2023-03-27 13:37:59.000000000 +0200 +++ new/zope.testbrowser-7.0/tox.ini 2024-05-31 10:41:07.000000000 +0200 @@ -3,42 +3,62 @@ [tox] minversion = 3.18 envlist = + release-check lint - py37 py38 py39 py310 py311 + py312 + py313 pypy3 docs coverage [testenv] usedevelop = true +package = wheel +wheel_build_env = .pkg +pip_pre = py313: true deps = + setuptools < 69 + Sphinx setenv = ZOPE_INTERFACE_STRICT_IRO=1 + py312: VIRTUALENV_PIP=23.1.2 + py312: PIP_REQUIRE_VIRTUALENV=0 commands = zope-testrunner --test-path=src {posargs:-vc} sphinx-build -b doctest -d {envdir}/.cache/doctrees docs {envdir}/.cache/doctest extras = test docs +[testenv:release-check] +description = ensure that the distribution is ready to release +basepython = python3 +skip_install = true +deps = + twine + build + check-manifest + check-python-versions >= 0.20.0 + wheel +commands_pre = +commands = + check-manifest + check-python-versions --only setup.py,tox.ini,.github/workflows/tests.yml + python -m build --sdist --no-isolation + twine check dist/* [testenv:lint] basepython = python3 skip_install = true +deps = + isort + flake8 commands = isort --check-only --diff {toxinidir}/src {toxinidir}/setup.py flake8 src setup.py - check-manifest - check-python-versions -deps = - check-manifest - check-python-versions >= 0.19.1 - wheel - flake8 - isort [testenv:isort-apply] basepython = python3 @@ -63,21 +83,21 @@ mkdir deps = coverage - coverage-python-version + Sphinx commands = mkdir -p {toxinidir}/parts/htmlcov coverage run -m zope.testrunner --test-path=src {posargs:-vc} coverage run -a -m sphinx -b doctest -d {envdir}/.cache/doctrees docs {envdir}/.cache/doctest coverage html --ignore-errors - coverage report --ignore-errors --show-missing --fail-under=70 + coverage report --show-missing --fail-under=70 [coverage:run] branch = True -plugins = coverage_python_version source = zope.testbrowser [coverage:report] precision = 2 +ignore_errors = True exclude_lines = pragma: no cover pragma: nocover