mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-07-30 10:38:07 -07:00
dev-python/boto: Port to py3.9, fix tests
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
DISTUTILS_USE_SETUPTOOLS=bdepend
|
||||
inherit distutils-r1
|
||||
|
||||
@@ -13,22 +13,26 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm arm64 ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
IUSE="test"
|
||||
|
||||
BDEPEND="
|
||||
test? ( dev-python/nose[${PYTHON_USEDEP}] )
|
||||
"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# requires Amazon Web Services keys to pass some tests
|
||||
RESTRICT+=" test"
|
||||
|
||||
PATCHES=(
|
||||
# taken from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=909545
|
||||
"${FILESDIR}/boto-try-to-add-SNI-support-v2.patch"
|
||||
"${FILESDIR}"/${P}-py38.patch
|
||||
)
|
||||
|
||||
python_test() {
|
||||
"${PYTHON}" tests/test.py -v || die "Tests fail with ${EPYTHON}"
|
||||
distutils_enable_tests nose
|
||||
|
||||
src_prepare() {
|
||||
# broken, not worth fixing
|
||||
rm tests/unit/cloudfront/test_signed_urls.py || die
|
||||
# fix tests
|
||||
mkdir -p "${HOME}"/.ssh || die
|
||||
: > "${HOME}"/.ssh/known_hosts || die
|
||||
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
nosetests -v tests/unit ||
|
||||
die "Tests fail with ${EPYTHON}"
|
||||
}
|
||||
|
||||
54
dev-python/boto/files/boto-2.49.0-py38.patch
Normal file
54
dev-python/boto/files/boto-2.49.0-py38.patch
Normal file
@@ -0,0 +1,54 @@
|
||||
diff --git a/boto/ecs/item.py b/boto/ecs/item.py
|
||||
index 79177a31..292b05af 100644
|
||||
--- a/boto/ecs/item.py
|
||||
+++ b/boto/ecs/item.py
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
|
||||
import xml.sax
|
||||
-import cgi
|
||||
+import html
|
||||
from boto.compat import six, StringIO
|
||||
|
||||
class ResponseGroup(xml.sax.ContentHandler):
|
||||
@@ -67,7 +67,7 @@ class ResponseGroup(xml.sax.ContentHandler):
|
||||
return None
|
||||
|
||||
def endElement(self, name, value, connection):
|
||||
- self._xml.write("%s</%s>" % (cgi.escape(value).replace("&amp;", "&"), name))
|
||||
+ self._xml.write("%s</%s>" % (html.escape(value).replace("&amp;", "&"), name))
|
||||
if len(self._nodepath) == 0:
|
||||
return
|
||||
obj = None
|
||||
diff --git a/tests/unit/utils/test_utils.py b/tests/unit/utils/test_utils.py
|
||||
index db15b56d..89d1a524 100644
|
||||
--- a/tests/unit/utils/test_utils.py
|
||||
+++ b/tests/unit/utils/test_utils.py
|
||||
@@ -85,7 +85,7 @@ class TestPassword(unittest.TestCase):
|
||||
def hmac_hashfunc(cls, msg):
|
||||
if not isinstance(msg, bytes):
|
||||
msg = msg.encode('utf-8')
|
||||
- return hmac.new(b'mysecretkey', msg)
|
||||
+ return hmac.new(b'mysecretkey', msg, digestmod='MD5')
|
||||
|
||||
class HMACPassword(Password):
|
||||
hashfunc = hmac_hashfunc
|
||||
@@ -95,15 +95,15 @@ class TestPassword(unittest.TestCase):
|
||||
password.set('foo')
|
||||
|
||||
self.assertEquals(str(password),
|
||||
- hmac.new(b'mysecretkey', b'foo').hexdigest())
|
||||
+ hmac.new(b'mysecretkey', b'foo', digestmod='MD5').hexdigest())
|
||||
|
||||
def test_constructor(self):
|
||||
- hmac_hashfunc = lambda msg: hmac.new(b'mysecretkey', msg)
|
||||
+ hmac_hashfunc = lambda msg: hmac.new(b'mysecretkey', msg, digestmod='MD5')
|
||||
|
||||
password = Password(hashfunc=hmac_hashfunc)
|
||||
password.set('foo')
|
||||
self.assertEquals(password.str,
|
||||
- hmac.new(b'mysecretkey', b'foo').hexdigest())
|
||||
+ hmac.new(b'mysecretkey', b'foo', digestmod='MD5').hexdigest())
|
||||
|
||||
|
||||
class TestPythonizeName(unittest.TestCase):
|
||||
Reference in New Issue
Block a user