From 10236718236e6a12e2e6528abcd920276d181545 Mon Sep 17 00:00:00 2001 From: Paul Barker Date: Mon, 26 Apr 2021 09:16:28 +0100 Subject: bitbake: hashserv: Use generic ConnectionError The Python built-in ConnectionError type can be used instead of a custom HashConnectionError type. This will make code refactoring simpler. (Bitbake rev: 8a796c3d6d99cfa8ef7aff0ae55bb0f23bbbeae1) Signed-off-by: Paul Barker Signed-off-by: Richard Purdie --- bitbake/lib/bb/siggen.py | 6 +++--- bitbake/lib/hashserv/client.py | 20 ++++++++------------ bitbake/lib/hashserv/tests.py | 3 +-- 3 files changed, 12 insertions(+), 17 deletions(-) (limited to 'bitbake') diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index 0d88c6ec68..f3fa3000fa 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py @@ -542,7 +542,7 @@ class SignatureGeneratorUniHashMixIn(object): hashequiv_logger.debug((1, 2)[unihash == taskhash], 'Found unihash %s in place of %s for %s from %s' % (unihash, taskhash, tid, self.server)) else: hashequiv_logger.debug2('No reported unihash for %s:%s from %s' % (tid, taskhash, self.server)) - except hashserv.client.HashConnectionError as e: + except ConnectionError as e: bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e))) self.set_unihash(tid, unihash) @@ -621,7 +621,7 @@ class SignatureGeneratorUniHashMixIn(object): d.setVar('BB_UNIHASH', new_unihash) else: hashequiv_logger.debug('Reported task %s as unihash %s to %s' % (taskhash, unihash, self.server)) - except hashserv.client.HashConnectionError as e: + except ConnectionError as e: bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e))) finally: if sigfile: @@ -661,7 +661,7 @@ class SignatureGeneratorUniHashMixIn(object): # TODO: What to do here? hashequiv_logger.verbose('Task %s unihash reported as unwanted hash %s' % (tid, finalunihash)) - except hashserv.client.HashConnectionError as e: + except ConnectionError as e: bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e))) return False diff --git a/bitbake/lib/hashserv/client.py b/bitbake/lib/hashserv/client.py index e05c1eb568..f370cba63f 100644 --- a/bitbake/lib/hashserv/client.py +++ b/bitbake/lib/hashserv/client.py @@ -14,10 +14,6 @@ from . import chunkify, DEFAULT_MAX_CHUNK, create_async_client logger = logging.getLogger("hashserv.client") -class HashConnectionError(Exception): - pass - - class AsyncClient(object): MODE_NORMAL = 0 MODE_GET_STREAM = 1 @@ -66,14 +62,14 @@ class AsyncClient(object): return await proc() except ( OSError, - HashConnectionError, + ConnectionError, json.JSONDecodeError, UnicodeDecodeError, ) as e: logger.warning("Error talking to server: %s" % e) if count >= 3: - if not isinstance(e, HashConnectionError): - raise HashConnectionError(str(e)) + if not isinstance(e, ConnectionError): + raise ConnectionError(str(e)) raise e await self.close() count += 1 @@ -82,12 +78,12 @@ class AsyncClient(object): async def get_line(): line = await self.reader.readline() if not line: - raise HashConnectionError("Connection closed") + raise ConnectionError("Connection closed") line = line.decode("utf-8") if not line.endswith("\n"): - raise HashConnectionError("Bad message %r" % message) + raise ConnectionError("Bad message %r" % message) return line @@ -119,7 +115,7 @@ class AsyncClient(object): await self.writer.drain() l = await self.reader.readline() if not l: - raise HashConnectionError("Connection closed") + raise ConnectionError("Connection closed") return l.decode("utf-8").rstrip() return await self._send_wrapper(proc) @@ -128,11 +124,11 @@ class AsyncClient(object): if new_mode == self.MODE_NORMAL and self.mode == self.MODE_GET_STREAM: r = await self.send_stream("END") if r != "ok": - raise HashConnectionError("Bad response from server %r" % r) + raise ConnectionError("Bad response from server %r" % r) elif new_mode == self.MODE_GET_STREAM and self.mode == self.MODE_NORMAL: r = await self.send_message({"get-stream": None}) if r != "ok": - raise HashConnectionError("Bad response from server %r" % r) + raise ConnectionError("Bad response from server %r" % r) elif new_mode != self.mode: raise Exception( "Undefined mode transition %r -> %r" % (self.mode, new_mode) diff --git a/bitbake/lib/hashserv/tests.py b/bitbake/lib/hashserv/tests.py index 1a696481e3..e2b762dbf0 100644 --- a/bitbake/lib/hashserv/tests.py +++ b/bitbake/lib/hashserv/tests.py @@ -6,7 +6,6 @@ # from . import create_server, create_client -from .client import HashConnectionError import hashlib import logging import multiprocessing @@ -277,7 +276,7 @@ class HashEquivalenceCommonTests(object): outhash2 = '3c979c3db45c569f51ab7626a4651074be3a9d11a84b1db076f5b14f7d39db44' unihash2 = '90e9bc1d1f094c51824adca7f8ea79a048d68824' - with self.assertRaises(HashConnectionError): + with self.assertRaises(ConnectionError): ro_client.report_unihash(taskhash2, self.METHOD, outhash2, unihash2) # Ensure that the database was not modified -- cgit v1.2.3-54-g00ecf