[arch-commits] Commit in python-pecan/trunk (PKGBUILD python310.patch)
Evangelos Foutras
foutrelis at gemini.archlinux.org
Wed Dec 8 05:04:07 UTC 2021
Date: Wednesday, December 8, 2021 @ 05:04:07
Author: foutrelis
Revision: 1065611
Fix tests for Python 3.10
Added:
python-pecan/trunk/python310.patch
Modified:
python-pecan/trunk/PKGBUILD
-----------------+
PKGBUILD | 15 ++++++---
python310.patch | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 99 insertions(+), 4 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2021-12-08 04:38:50 UTC (rev 1065610)
+++ PKGBUILD 2021-12-08 05:04:07 UTC (rev 1065611)
@@ -15,13 +15,20 @@
checkdepends=('python-virtualenv' 'python-jinja' 'gunicorn' 'python-mock'
'python-sqlalchemy' 'python-genshi' 'python-nine' 'uwsgi'
'python-pytest' 'python-kajiki')
-source=("${pkgname}-${pkgver}.tar.gz::https://github.com/${_pkgname}/${_pkgname}/archive/${pkgver}.tar.gz")
-sha512sums=('3f7e072b294a732af6ff65621b1e10254260b9d42abd2bc38c3bff8e141b2ae4592567075813faf40227e7f0a3f2893c27270926fcfad18d1cdd9dc8a85bd14e')
+source=("${pkgname}-${pkgver}.tar.gz::https://github.com/${_pkgname}/${_pkgname}/archive/${pkgver}.tar.gz"
+ ${pkgname}-sqlalchemy-1.4.patch::https://github.com/pecan/pecan/commit/a520bd544c0b.patch
+ python310.patch)
+sha512sums=('3f7e072b294a732af6ff65621b1e10254260b9d42abd2bc38c3bff8e141b2ae4592567075813faf40227e7f0a3f2893c27270926fcfad18d1cdd9dc8a85bd14e'
+ 'aa71f0ae65d245afe6038f9765d557764cf8f80eb699e1b52fe71fb502d097f08ef638f11137b9a716f144de4077058a10fd0f2e57f82f8af79608cb63a0b99e'
+ '6e66a845d701aa63fadd67a8dd644956e7c444690a13fa0eafe6482e959c52318037c053c8fd8df503ffa293129d18858dc63fae6dc316ae3284c6e1753b5864')
prepare(){
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ patch -Np1 -i ../${pkgname}-sqlalchemy-1.4.patch
+ patch -Np1 -i ../python310.patch # https://github.com/pecan/pecan/pull/131
# fix manpage build
- sed -i '/^dist = /d' "${srcdir}/${_pkgname}-${pkgver}/docs/source/conf.py"
- sed -i "s/^version = release = .*\$/version = release = '${pkgver}'/" "${srcdir}/${_pkgname}-${pkgver}/docs/source/conf.py"
+ sed -i '/^dist = /d' docs/source/conf.py
+ sed -i "s/^version = release = .*\$/version = release = '${pkgver}'/" docs/source/conf.py
}
build() {
Added: python310.patch
===================================================================
--- python310.patch (rev 0)
+++ python310.patch 2021-12-08 05:04:07 UTC (rev 1065611)
@@ -0,0 +1,88 @@
+From f189d0eafbaacc5b5093bb8854cd2068e22b6c08 Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras <evangelos at foutrelis.com>
+Date: Wed, 8 Dec 2021 07:01:16 +0200
+Subject: [PATCH] Fix tests to work on Python 3.10
+
+Python 3.10 adds the class name to the exception; adjust four tests
+affected by this change.
+
+Fixes: https://github.com/pecan/pecan/issues/130
+---
+ pecan/tests/test_base.py | 18 +++++++++++++-----
+ pecan/tests/test_no_thread_locals.py | 20 ++++++++++++++------
+ 2 files changed, 27 insertions(+), 11 deletions(-)
+
+diff --git a/pecan/tests/test_base.py b/pecan/tests/test_base.py
+index 11d0c4d..62d691e 100644
+--- a/pecan/tests/test_base.py
++++ b/pecan/tests/test_base.py
+@@ -456,8 +456,12 @@ class TestControllerArguments(PecanTestCase):
+ assert type(ex) == TypeError
+ assert ex.args[0] in (
+ "index() takes exactly 2 arguments (1 given)",
+- "index() missing 1 required positional argument: 'id'"
+- ) # this messaging changed in Python 3.3
++ "index() missing 1 required positional argument: 'id'",
++ (
++ "TestControllerArguments.app_.<locals>.RootController."
++ "index() missing 1 required positional argument: 'id'"
++ ),
++ ) # this messaging changed in Python 3.3 and again in Python 3.10
+
+ def test_single_argument(self):
+ r = self.app_.get('/1')
+@@ -994,9 +998,13 @@ class TestControllerArguments(PecanTestCase):
+ except Exception as ex:
+ assert type(ex) == TypeError
+ assert ex.args[0] in (
+- "eater() takes at least 2 arguments (1 given)",
+- "eater() missing 1 required positional argument: 'id'"
+- ) # this messaging changed in Python 3.3
++ "eater() takes exactly 2 arguments (1 given)",
++ "eater() missing 1 required positional argument: 'id'",
++ (
++ "TestControllerArguments.app_.<locals>.RootController."
++ "eater() missing 1 required positional argument: 'id'"
++ ),
++ ) # this messaging changed in Python 3.3 and again in Python 3.10
+
+ def test_one_remainder(self):
+ r = self.app_.get('/eater/1')
+diff --git a/pecan/tests/test_no_thread_locals.py b/pecan/tests/test_no_thread_locals.py
+index aa8e461..3fbcd88 100644
+--- a/pecan/tests/test_no_thread_locals.py
++++ b/pecan/tests/test_no_thread_locals.py
+@@ -361,9 +361,13 @@ class TestControllerArguments(PecanTestCase):
+ except Exception as ex:
+ assert type(ex) == TypeError
+ assert ex.args[0] in (
+- "index() takes exactly 4 arguments (3 given)",
+- "index() missing 1 required positional argument: 'id'"
+- ) # this messaging changed in Python 3.3
++ "index() takes exactly 2 arguments (1 given)",
++ "index() missing 1 required positional argument: 'id'",
++ (
++ "TestControllerArguments.app_.<locals>.RootController."
++ "index() missing 1 required positional argument: 'id'"
++ ),
++ ) # this messaging changed in Python 3.3 and again in Python 3.10
+
+ def test_single_argument(self):
+ r = self.app_.get('/1')
+@@ -763,9 +767,13 @@ class TestControllerArguments(PecanTestCase):
+ except Exception as ex:
+ assert type(ex) == TypeError
+ assert ex.args[0] in (
+- "eater() takes at least 4 arguments (3 given)",
+- "eater() missing 1 required positional argument: 'id'"
+- ) # this messaging changed in Python 3.3
++ "eater() takes exactly 2 arguments (1 given)",
++ "eater() missing 1 required positional argument: 'id'",
++ (
++ "TestControllerArguments.app_.<locals>.RootController."
++ "eater() missing 1 required positional argument: 'id'"
++ ),
++ ) # this messaging changed in Python 3.3 and again in Python 3.10
+
+ def test_one_remainder(self):
+ r = self.app_.get('/eater/1')
More information about the arch-commits
mailing list