Source: python-boto Version: 2.49.0-2.1 X-Debbugs-CC: debian...@lists.debian.org Severity: serious User: debian...@lists.debian.org Usertags: needs-update
Hi Maintainer The autopkgtests of python-boto started to fail with Python 3.8 as the default Python3 interpreter [1]. I've copied what I hope is the relevant part of the log below. Regards Graham [1] https://ci.debian.net/packages/p/python-boto/unstable/amd64/ ====================================================================== ERROR: test_item_lookup (tests.unit.ecs.test_connection.TestECSConnection) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/autopkgtest-lxc.y6hi7437/downtmp/autopkgtest_tmp/tests/unit/ecs/test_connection.py", line 53, in test_item_lookup item_set = self.service_connection.item_lookup( File "/usr/lib/python3/dist-packages/boto/ecs/__init__.py", line 105, in item_lookup return self.get_response('ItemLookup', params) File "/usr/lib/python3/dist-packages/boto/ecs/__init__.py", line 78, in get_response xml.sax.parseString(body.encode('utf-8'), h) File "/usr/lib/python3.8/xml/sax/__init__.py", line 48, in parseString parser.parse(inpsrc) File "/usr/lib/python3.8/xml/sax/expatreader.py", line 111, in parse xmlreader.IncrementalParser.parse(self, source) File "/usr/lib/python3.8/xml/sax/xmlreader.py", line 125, in parse self.feed(buffer) File "/usr/lib/python3.8/xml/sax/expatreader.py", line 217, in feed self._parser.Parse(data, isFinal) File "../Modules/pyexpat.c", line 459, in EndElement File "/usr/lib/python3.8/xml/sax/expatreader.py", line 336, in end_element self._cont_handler.endElement(name) File "/usr/lib/python3/dist-packages/boto/handler.py", line 41, in endElement self.nodes[-1][1].endElement(name, self.current_text, self.connection) File "/usr/lib/python3/dist-packages/boto/ecs/item.py", line 136, in endElement self.curItem.endElement(name, value, connection) File "/usr/lib/python3/dist-packages/boto/ecs/item.py", line 70, in endElement self._xml.write("%s</%s>" % (cgi.escape(value).replace("&amp;", "&"), name)) AttributeError: module 'cgi' has no attribute 'escape' -------------------- >> begin captured logging << -------------------- boto: DEBUG: Using access key provided by client. boto: DEBUG: Using secret key provided by client. boto: DEBUG: Method: GET boto: DEBUG: Path: /onca/xml boto: DEBUG: Data: boto: DEBUG: Headers: {} boto: DEBUG: Host: ecs.amazonaws.com boto: DEBUG: Port: 443 boto: DEBUG: Params: {'ItemId': '0316067938', 'ResponseGroup': 'Reviews', 'Service': 'AWSECommerceService', 'Operation': 'ItemLookup', 'Version': '2010-11-01'} boto: DEBUG: establishing HTTPS connection: host=ecs.amazonaws.com, kwargs={'timeout': 70, 'port': 443} boto: DEBUG: Token: None boto: DEBUG: using _calc_signature_2 boto: DEBUG: query string: AWSAccessKeyId=aws_access_key_id&ItemId=0316067938&Operation=ItemLookup&ResponseGroup=Reviews&Service=AWSECommerceService&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2020-03-14T06%3A57%3A17Z&Version=2010-11-01 boto: DEBUG: string_to_sign: GET ecs.amazonaws.com /onca/xml AWSAccessKeyId=aws_access_key_id&ItemId=0316067938&Operation=ItemLookup&ResponseGroup=Reviews&Service=AWSECommerceService&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2020-03-14T06%3A57%3A17Z&Version=2010-11-01 boto: DEBUG: len(b64)=44 boto: DEBUG: base64 encoded digest: b'FYLEaYd20wPkhaMs5FopiEBy3GZemtbrRNg8rQ9tkmU=' boto: DEBUG: query_string: AWSAccessKeyId=aws_access_key_id&ItemId=0316067938&Operation=ItemLookup&ResponseGroup=Reviews&Service=AWSECommerceService&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2020-03-14T06%3A57%3A17Z&Version=2010-11-01 Signature: b'FYLEaYd20wPkhaMs5FopiEBy3GZemtbrRNg8rQ9tkmU=' boto: DEBUG: Final headers: {'User-Agent': 'Boto/2.49.0 Python/3.8.2 Linux/4.19.0-6-amd64', 'Content-Length': '0', 'Host': 'ecs.amazonaws.com'} boto: DEBUG: Response headers: [] boto: DEBUG: <Items> <Request> <IsValid>True</IsValid> <ItemLookupRequest> <ItemId>B00008OE6I</ItemId> </ItemLookupRequest> </Request> <Item> <ASIN>B00008OE6I</ASIN> <ItemAttributes> <Manufacturer>Canon</Manufacturer> <ProductGroup>Photography</ProductGroup> <Title>Canon PowerShot S400 4MP Digital Camera w/ 3x Optical Zoom</Title> </ItemAttributes> </Item> </Items> --------------------- >> end captured logging << --------------------- ====================================================================== ERROR: test_constructor (tests.unit.utils.test_utils.TestPassword) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/autopkgtest-lxc.y6hi7437/downtmp/autopkgtest_tmp/tests/unit/utils/test_utils.py", line 104, in test_constructor password.set('foo') File "/usr/lib/python3/dist-packages/boto/utils.py", line 787, in set self.str = self.hashfunc(value).hexdigest() File "/tmp/autopkgtest-lxc.y6hi7437/downtmp/autopkgtest_tmp/tests/unit/utils/test_utils.py", line 101, in <lambda> hmac_hashfunc = lambda msg: hmac.new(b'mysecretkey', msg) File "/usr/lib/python3.8/hmac.py", line 153, in new return HMAC(key, msg, digestmod) File "/usr/lib/python3.8/hmac.py", line 51, in __init__ raise TypeError("Missing required parameter 'digestmod'.") TypeError: Missing required parameter 'digestmod'. ====================================================================== ERROR: test_hmac (tests.unit.utils.test_utils.TestPassword) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/autopkgtest-lxc.y6hi7437/downtmp/autopkgtest_tmp/tests/unit/utils/test_utils.py", line 93, in test_hmac self.clstest(HMACPassword) File "/tmp/autopkgtest-lxc.y6hi7437/downtmp/autopkgtest_tmp/tests/unit/utils/test_utils.py", line 61, in clstest self.assertNotEquals(password, 'foo') File "/usr/lib/python3.8/unittest/case.py", line 1410, in deprecated_func return original_func(*args, **kwargs) File "/usr/lib/python3.8/unittest/case.py", line 918, in assertNotEqual if not first != second: File "/usr/lib/python3/dist-packages/boto/utils.py", line 797, in __eq__ return str(self.hashfunc(other).hexdigest()) == str(self.str) File "/tmp/autopkgtest-lxc.y6hi7437/downtmp/autopkgtest_tmp/tests/unit/utils/test_utils.py", line 88, in hmac_hashfunc return hmac.new(b'mysecretkey', msg) File "/usr/lib/python3.8/hmac.py", line 153, in new return HMAC(key, msg, digestmod) File "/usr/lib/python3.8/hmac.py", line 51, in __init__ raise TypeError("Missing required parameter 'digestmod'.") TypeError: Missing required parameter 'digestmod'. ---------------------------------------------------------------------- Ran 1730 tests in 5.029s FAILED (SKIP=6, errors=3) autopkgtest [06:57:21]: test unit: -----------------------] autopkgtest [06:57:21]: test unit: - - - - - - - - - - results - - - - - - - - - - unit FAIL non-zero exit status 1