diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f9f622d..cedf24b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: os: - - ubuntu + - ["ubuntu", "ubuntu-20.04"] config: # [Python version, tox env] - ["3.9", "lint"] @@ -28,22 +28,23 @@ jobs: - ["3.8", "py38"] - ["3.9", "py39"] - ["3.10", "py310"] + - ["3.11", "py311"] - ["pypy-2.7", "pypy"] - ["pypy-3.7", "pypy3"] - ["3.9", "docs"] - ["3.9", "coverage"] - runs-on: ${{ matrix.os }}-latest + runs-on: ${{ matrix.os[1] }} if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name name: ${{ matrix.config[1] }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.config[0] }} - name: Pip cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ matrix.config[0] }}-${{ hashFiles('setup.*', 'tox.ini') }} diff --git a/.meta.toml b/.meta.toml index 7c856a2..f26e062 100644 --- a/.meta.toml +++ b/.meta.toml @@ -2,7 +2,7 @@ # https://github.com/zopefoundation/meta/tree/master/config/pure-python [meta] template = "pure-python" -commit-id = "b4cfc9ca6065ca82646fa69d04ee4c15c58035e1" +commit-id = "180c99ed3def7da6e173a5a496cad6484eadd044" [python] with-windows = false @@ -11,6 +11,7 @@ with-future-python = false with-legacy-python = true with-docs = true with-sphinx-doctests = false +with-macos = false [tox] use-flake8 = true diff --git a/CHANGES.rst b/CHANGES.rst index 32eb7ee..af2e2bb 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,8 @@ 3.6.1 (unreleased) ================== +- Add support for Python 3.11. + - Drop support for Python 3.4. diff --git a/setup.py b/setup.py index a6b3311..d093342 100644 --- a/setup.py +++ b/setup.py @@ -70,6 +70,7 @@ 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: Implementation :: CPython', 'Programming Language :: Python :: Implementation :: PyPy', 'Operating System :: OS Independent', diff --git a/src/ZConfig/components/logger/tests/test_logger.py b/src/ZConfig/components/logger/tests/test_logger.py index e69a938..6168da2 100644 --- a/src/ZConfig/components/logger/tests/test_logger.py +++ b/src/ZConfig/components/logger/tests/test_logger.py @@ -339,7 +339,6 @@ def test_custom_formatter(self): self.assertTrue(sio.getvalue().find("Don't panic") >= 0) def test_with_syslog(self): - import socket logger = self.check_simple_logger("\n" " \n" " level error\n" @@ -350,10 +349,6 @@ def test_with_syslog(self): self.assertEqual(syslog.level, logging.ERROR) self.assertTrue(isinstance(syslog, loghandler.SysLogHandler)) syslog.close() # avoid ResourceWarning - try: - syslog.socket.close() # ResourceWarning under 3.2 - except socket.SocketError: # pragma: no cover - pass def test_with_http_logger_localhost(self): logger = self.check_simple_logger("\n" diff --git a/tox.ini b/tox.ini index 5340e7f..2c24d04 100644 --- a/tox.ini +++ b/tox.ini @@ -11,6 +11,7 @@ envlist = py38 py39 py310 + py311 pypy pypy3 docs @@ -66,8 +67,8 @@ deps = commands = mkdir -p {toxinidir}/parts/htmlcov coverage run -m zope.testrunner --test-path=src {posargs:-vc} - coverage html - coverage report -m --fail-under=95 + coverage html --ignore-errors + coverage report --ignore-errors --show-missing --fail-under=95 [coverage:run] branch = True