Raise exception instead of using assert

This commit is contained in:
shortcutme 2019-07-03 18:35:55 +02:00
parent 80bfccd9d3
commit ff32f822ba
No known key found for this signature in database
GPG Key ID: 5B63BAE6CB9613AE
7 changed files with 27 additions and 12 deletions

View File

@ -2,7 +2,9 @@ import array
def packPiecefield(data):
assert isinstance(data, bytes) or isinstance(data, bytearray)
if not isinstance(data, bytes) and not isinstance(data, bytearray):
raise Exception("Invalid data type: %s" % type(data))
res = []
if not data:
return array.array("H", b"")
@ -46,7 +48,9 @@ def unpackPiecefield(data):
def spliceBit(data, idx, bit):
assert bit == b"\x00" or bit == b"\x01"
if bit != b"\x00" and bit != b"\x01":
raise Exception("Invalid bit: %s" % bit)
if len(data) < idx:
data = data.ljust(idx + 1, b"\x00")
return data[:idx] + bit + data[idx+ 1:]
@ -63,7 +67,8 @@ class BigfilePiecefield(Piecefield):
self.data = b""
def frombytes(self, s):
assert isinstance(s, bytes) or isinstance(s, bytearray)
if not isinstance(s, bytes) and not isinstance(s, bytearray):
raise Exception("Invalid type: %s" % type(s))
self.data = s
def tobytes(self):
@ -91,7 +96,8 @@ class BigfilePiecefieldPacked(Piecefield):
self.data = b""
def frombytes(self, data):
assert isinstance(data, bytes) or isinstance(data, bytearray)
if not isinstance(data, bytes) and not isinstance(data, bytearray):
raise Exception("Invalid type: %s" % type(data))
self.data = packPiecefield(data).tobytes()
def tobytes(self):

View File

@ -137,7 +137,9 @@ class UiWebsocketPlugin(object):
@PluginManager.registerTo("User")
class UserPlugin(object):
def getEncryptPrivatekey(self, address, param_index=0):
assert param_index >= 0 and param_index <= 1000
if param_index < 0 or param_index > 1000:
raise Exception("Param_index out of range")
site_data = self.getSiteData(address)
if site_data.get("cert"): # Different privatekey for different cert provider
@ -153,7 +155,9 @@ class UserPlugin(object):
return site_data["encrypt_privatekey_%s" % index]
def getEncryptPublickey(self, address, param_index=0):
assert param_index >= 0 and param_index <= 1000
if param_index < 0 or param_index > 1000:
raise Exception("Param_index out of range")
site_data = self.getSiteData(address)
if site_data.get("cert"): # Different privatekey for different cert provider

View File

@ -13,7 +13,8 @@ class WsLogStreamer(logging.StreamHandler):
self.ui_websocket = ui_websocket
if filter:
assert SafeRe.isSafePattern(filter)
if not SafeRe.isSafePattern(filter):
raise Exception("Not a safe prex pattern")
self.filter_re = re.compile(".*" + filter)
else:
self.filter_re = None

View File

@ -52,7 +52,8 @@ class CryptConnectionManager:
sock_wrapped = ssl.wrap_socket(sock, ciphers=ciphers)
if cert_pin:
cert_hash = hashlib.sha256(sock_wrapped.getpeercert(True)).hexdigest()
assert cert_hash == cert_pin, "Socket certificate does not match (%s != %s)" % (cert_hash, cert_pin)
if cert_hash != cert_pin:
raise Exception("Socket certificate does not match (%s != %s)" % (cert_hash, cert_pin))
return sock_wrapped
else:
return sock

View File

@ -33,7 +33,7 @@ class TestHelper:
with pytest.raises(socket.error):
helper.packAddress("999.1.1.1", 1)
with pytest.raises(AssertionError):
with pytest.raises(Exception):
helper.unpackAddress("X")
def testGetDirname(self):

View File

@ -159,12 +159,14 @@ class TorManager(object):
else:
res_auth = self.send("AUTHENTICATE", conn)
assert "250 OK" in res_auth, "Authenticate error %s" % res_auth
if "250 OK" not in res_auth:
raise Exception("Authenticate error %s" % res_auth)
# Version 0.2.7.5 required because ADD_ONION support
res_version = self.send("GETINFO version", conn)
version = re.search(r'version=([0-9\.]+)', res_version).group(1)
assert float(version.replace(".", "0", 2)) >= 207.5, "Tor version >=0.2.7.5 required, found: %s" % version
if float(version.replace(".", "0", 2)) < 207.5:
raise Exception("Tor version >=0.2.7.5 required, found: %s" % version)
self.setStatus("Connected (%s)" % res_auth)
self.event_started.set(True)

View File

@ -110,7 +110,8 @@ def unpackAddress(packed):
if len(packed) == 18:
return socket.inet_ntop(socket.AF_INET6, packed[0:16]), struct.unpack_from("H", packed, 16)[0]
else:
assert len(packed) == 6, "Invalid length ip4 packed address: %s" % len(packed)
if len(packed) != 6:
raise Exception("Invalid length ip4 packed address: %s" % len(packed))
return socket.inet_ntoa(packed[0:4]), struct.unpack_from("H", packed, 4)[0]