stop asking for zero random bits of data (#18668)

This commit is contained in:
Kyle Altendorf
2024-10-03 13:32:02 -07:00
committed by GitHub
parent 0ab72914fa
commit b353a398fe
@@ -159,6 +159,13 @@ def test_internal_hash(seeded_random: Random) -> None:
assert definition(left_hash=left_hash, right_hash=right_hash) == reference
def get_random_bytes(length: int, r: Random) -> bytes:
if length == 0:
return b""
return r.getrandbits(length * 8).to_bytes(length, "big")
def test_leaf_hash(seeded_random: Random) -> None:
def definition(key: bytes, value: bytes) -> bytes32:
return SerializedProgram.to((key, value)).get_tree_hash()
@@ -169,12 +176,14 @@ def test_leaf_hash(seeded_random: Random) -> None:
length = 0
else:
length = seeded_random.randrange(100)
key = seeded_random.getrandbits(length * 8).to_bytes(length, "big")
key = get_random_bytes(length=length, r=seeded_random)
if cycle in (1, 2):
length = 0
else:
length = seeded_random.randrange(100)
value = seeded_random.getrandbits(length * 8).to_bytes(length, "big")
value = get_random_bytes(length=length, r=seeded_random)
reference = definition(key=key, value=value)
data.append((key, value, reference))
@@ -197,7 +206,7 @@ def test_key_hash(seeded_random: Random) -> None:
length = 0
else:
length = seeded_random.randrange(100)
key = seeded_random.getrandbits(length * 8).to_bytes(length, "big")
key = get_random_bytes(length=length, r=seeded_random)
reference = definition(key=key)
data.append((key, reference))