Another bug found while adding type-hints. BytesIO.write() does not accept an int, which is always the result of subscripting a bytearray. There does not seem to be any unit test coverage here.
>>> from karapace.protobuf.encoding_variants import *
>>> b = BytesIO()
>>> write_varint(b, 123)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/anton/aiven/karapace/karapace/protobuf/encoding_variants.py", line 65, in write_varint
bio.write(bytearray(to_write)[0])
TypeError: a bytes-like object is required, not 'int'
Not entirely clear what to do about this as it indicates that quite a lot of code is unused, i.e. if this breakage isn't affecting functionality.
What happened?
Another bug found while adding type-hints.
BytesIO.write()
does not accept an int, which is always the result of subscripting abytearray
. There does not seem to be any unit test coverage here.https://github.com/aiven/karapace/blob/0d0ede8edbba65cc944bb5fbc5df28fdfcdd3bd3/karapace/protobuf/encoding_variants.py#L48
Not entirely clear what to do about this as it indicates that quite a lot of code is unused, i.e. if this breakage isn't affecting functionality.