fuzz: Add fuzz tests for sparse merkle trie (#10662)

* Add fuzz tests for sparse merkle trie and change HTR signature to return an error

* fix capitalization of error message
This commit is contained in:
Preston Van Loon
2022-05-09 11:51:48 -05:00
committed by GitHub
parent 7d9d8454b1
commit 97663548a1
24 changed files with 418 additions and 90 deletions

View File

@@ -23,7 +23,9 @@ func TestDepositTrieRoot_OK(t *testing.T) {
depRoot, err := testAcc.Contract.GetDepositRoot(&bind.CallOpts{})
require.NoError(t, err)
assert.Equal(t, depRoot, localTrie.HashTreeRoot(), "Local deposit trie root and contract deposit trie root are not equal")
localRoot, err := localTrie.HashTreeRoot()
require.NoError(t, err)
assert.Equal(t, depRoot, localRoot, "Local deposit trie root and contract deposit trie root are not equal")
privKeys, pubKeys, err := interop.DeterministicallyGenerateKeys(0 /*startIndex*/, 101)
require.NoError(t, err)
@@ -47,7 +49,9 @@ func TestDepositTrieRoot_OK(t *testing.T) {
assert.NoError(t, localTrie.Insert(item[:], i))
depRoot, err = testAcc.Contract.GetDepositRoot(&bind.CallOpts{})
require.NoError(t, err)
assert.Equal(t, depRoot, localTrie.HashTreeRoot(), "Local deposit trie root and contract deposit trie root are not equal for index %d", i)
localRoot, err := localTrie.HashTreeRoot()
require.NoError(t, err)
assert.Equal(t, depRoot, localRoot, "Local deposit trie root and contract deposit trie root are not equal for index %d", i)
}
}
@@ -61,7 +65,9 @@ func TestDepositTrieRoot_Fail(t *testing.T) {
depRoot, err := testAcc.Contract.GetDepositRoot(&bind.CallOpts{})
require.NoError(t, err)
assert.Equal(t, depRoot, localTrie.HashTreeRoot(), "Local deposit trie root and contract deposit trie root are not equal")
localRoot, err := localTrie.HashTreeRoot()
require.NoError(t, err)
assert.Equal(t, depRoot, localRoot, "Local deposit trie root and contract deposit trie root are not equal")
privKeys, pubKeys, err := interop.DeterministicallyGenerateKeys(0 /*startIndex*/, 101)
require.NoError(t, err)
@@ -89,6 +95,8 @@ func TestDepositTrieRoot_Fail(t *testing.T) {
depRoot, err = testAcc.Contract.GetDepositRoot(&bind.CallOpts{})
require.NoError(t, err)
assert.NotEqual(t, depRoot, localTrie.HashTreeRoot(), "Local deposit trie root and contract deposit trie root are equal for index %d", i)
localRoot, err := localTrie.HashTreeRoot()
require.NoError(t, err)
assert.NotEqual(t, depRoot, localRoot, "Local deposit trie root and contract deposit trie root are equal for index %d", i)
}
}