onflow / atree

Atree provides scalable arrays and scalable ordered maps.
https://onflow.org
Apache License 2.0
39 stars 16 forks source link

Add regression test for BLAKE3 to detect breaking changes after updates #246

Closed fxamacker closed 2 years ago

fxamacker commented 2 years ago

Issue To Be Solved

Atree does not currently check 3rd party libraries like BLAKE3 for breaking changes.

It is best practice to do this with all 3rd party libraries, especially cryptographic functions and non-cryptographic hashes.

Suggested Solution

Add tests to confirm BLAKE3 produces expected digests.

fxamacker/circlehash has a compatibility test suite that checks nearly 600,000 digests. Use a modified subset of that compatibility test suite in Atree to detect breaking changes in BLAKE3.

Additionally, compare each tested digest produced by github.com/zeebo/blake3 and lukechampine.com/blake3. They should match.