From e08ea68ba2a8405da7e2bae48fc276f2983baf4c Mon Sep 17 00:00:00 2001 From: Patrick Lee Date: Wed, 21 Dec 2022 10:19:24 -0800 Subject: [PATCH] Improve verification test's error message When chunk verifier returns a chunk fault/error, a placeholder signature is generated for that chunk. --- engine/verification/utils/unittest/helper.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/engine/verification/utils/unittest/helper.go b/engine/verification/utils/unittest/helper.go index 28cadd84de7..99a64a04802 100644 --- a/engine/verification/utils/unittest/helper.go +++ b/engine/verification/utils/unittest/helper.go @@ -229,7 +229,24 @@ func SetupMockConsensusNode(t *testing.T, hasher, ) assert.NoError(t, err) - assert.True(t, valid) + + if !valid { + // When chunk verifier returns chunk fault, a placeholder + // signature is generated for that chunk. + isChunkFaultSignature, err := crypto.SPOCKVerifyAgainstData( + pk, + resultApproval.Body.Spock, + nil, // chunk fault has no spock secret + hasher, + ) + assert.NoError(t, err) + + if isChunkFaultSignature { + assert.Fail(t, "chunk verifier returned chunk fault") + } else { + assert.Fail(t, "spock secret mismatch") + } + } wg.Done() }).Return(nil)