From 52249061c6fef871815e64717bbb78e6ce6d07d4 Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Thu, 21 Dec 2023 12:46:24 +0200 Subject: [PATCH 1/5] CI: test on newer versions of Python too Signed-off-by: Aarni Koskela --- .github/workflows/tox.yml | 16 +++++++++++++--- tox.ini | 2 +- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tox.yml b/.github/workflows/tox.yml index fbece616..d1aec7f2 100644 --- a/.github/workflows/tox.yml +++ b/.github/workflows/tox.yml @@ -6,13 +6,17 @@ jobs: fail-fast: false max-parallel: 4 matrix: - python: [3.7, 3.8, 3.9] + python: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} + cache: pip + cache-dependency-path: | + tox.ini + setup.py - run: pip install tox - if: matrix.python == '3.7' run: TOXENV=py37 tox @@ -20,3 +24,9 @@ jobs: run: TOXENV=py38 tox - if: matrix.python == '3.9' run: TOXENV=py39 tox + - if: matrix.python == '3.10' + run: TOXENV=py310 tox + - if: matrix.python == '3.11' + run: TOXENV=py311 tox + - if: matrix.python == '3.12' + run: TOXENV=py312 tox diff --git a/tox.ini b/tox.ini index 5d190e17..a85f3058 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{37,38,39} +envlist = py{37,38,39,310,311,312} [testenv] whitelist_externals = echo make From cf272950c10a89379ae9d3afbcf3742d5ba6be0f Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Thu, 21 Dec 2023 12:47:01 +0200 Subject: [PATCH 2/5] CI: run with PYTHONDEVMODE=1 Signed-off-by: Aarni Koskela --- tox.ini | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tox.ini b/tox.ini index a85f3058..25cc72a8 100644 --- a/tox.ini +++ b/tox.ini @@ -13,6 +13,8 @@ commands = ruff . pytest make -C test test +env = + PYTHONDEVMODE=1 [testenv:lint] deps = From 68f1a8dedca8a1fb123021761a94fe7d871b809a Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Thu, 21 Dec 2023 12:59:00 +0200 Subject: [PATCH 3/5] Unpin Py.test version; remove pytest-runner dependency Signed-off-by: Aarni Koskela --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3d97aec2..8d961408 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ pylama==7.7.1 -pytest==5.2.2; python_version >= '3.0' +pytest tox==3.14.0 From 9f4ec965e2c4d1130195a6b3bab7867b2e0eae5b Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Thu, 21 Dec 2023 13:10:29 +0200 Subject: [PATCH 4/5] Correct wrap_socket call for Python 3.12 Signed-off-by: Aarni Koskela --- test/paho_test.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/test/paho_test.py b/test/paho_test.py index 080168b4..5c393842 100644 --- a/test/paho_test.py +++ b/test/paho_test.py @@ -34,7 +34,7 @@ def create_server_socket(): return sock -def create_server_socket_ssl(*args, **kwargs): +def create_server_socket_ssl(cert_reqs=None): if ssl is None: raise RuntimeError @@ -46,10 +46,13 @@ def create_server_socket_ssl(*args, **kwargs): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - ssock = ssl.wrap_socket( - sock, ca_certs="../ssl/all-ca.crt", - keyfile="../ssl/server.key", certfile="../ssl/server.crt", - server_side=True, ssl_version=ssl_version, **kwargs) + context = ssl.SSLContext(ssl_version) + context.load_verify_locations("../ssl/all-ca.crt") + context.load_cert_chain("../ssl/server.crt", "../ssl/server.key") + if cert_reqs: + context.verify_mode = cert_reqs + + ssock = context.wrap_socket(sock, server_side=True) ssock.settimeout(10) ssock.bind(('', 1888)) ssock.listen(5) From 88c8e7226d10dd76250319621686bf05534b1c64 Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Sat, 23 Dec 2023 16:54:51 +0200 Subject: [PATCH 5/5] Use simpler `run: tox -e py` incantation Co-authored-by: Christian Clauss Signed-off-by: Aarni Koskela --- .github/workflows/tox.yml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/.github/workflows/tox.yml b/.github/workflows/tox.yml index d1aec7f2..ccfdd4b5 100644 --- a/.github/workflows/tox.yml +++ b/.github/workflows/tox.yml @@ -18,15 +18,4 @@ jobs: tox.ini setup.py - run: pip install tox - - if: matrix.python == '3.7' - run: TOXENV=py37 tox - - if: matrix.python == '3.8' - run: TOXENV=py38 tox - - if: matrix.python == '3.9' - run: TOXENV=py39 tox - - if: matrix.python == '3.10' - run: TOXENV=py310 tox - - if: matrix.python == '3.11' - run: TOXENV=py311 tox - - if: matrix.python == '3.12' - run: TOXENV=py312 tox + - run: tox -e py