Merge pull request #3337 from nspcc-dev/fix-notary-test
notary: fix "Condition never satisfied" in Notary test, fix #2422
This commit is contained in:
commit
a256eac619
1 changed files with 7 additions and 15 deletions
|
@ -133,7 +133,7 @@ func TestNotary(t *testing.T) {
|
||||||
defer mtx.RUnlock()
|
defer mtx.RUnlock()
|
||||||
completedTx = completedTxes[h]
|
completedTx = completedTxes[h]
|
||||||
return completedTx != nil
|
return completedTx != nil
|
||||||
}, time.Second*3, time.Millisecond*50, errors.New("main transaction expected to be completed"))
|
}, time.Second*3, time.Millisecond*50, errors.New("transaction expected to be completed"))
|
||||||
return completedTx
|
return completedTx
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -600,22 +600,14 @@ func TestNotary(t *testing.T) {
|
||||||
// Add block before allowing tx to finalize to exclude race condition when
|
// Add block before allowing tx to finalize to exclude race condition when
|
||||||
// main transaction is finalized between `finalizeWithError` restore and adding new block.
|
// main transaction is finalized between `finalizeWithError` restore and adding new block.
|
||||||
e.AddNewBlock(t)
|
e.AddNewBlock(t)
|
||||||
mtx.RLock()
|
|
||||||
start := len(completedTxes)
|
|
||||||
mtx.RUnlock()
|
|
||||||
setFinalizeWithError(false)
|
setFinalizeWithError(false)
|
||||||
for i := range requests {
|
for i := range requests[1:] {
|
||||||
if i != 0 {
|
e.AddNewBlock(t)
|
||||||
e.AddNewBlock(t)
|
|
||||||
}
|
_ = getCompletedTx(t, true, requests[i+1].FallbackTransaction.Hash())
|
||||||
require.Eventually(t, func() bool {
|
|
||||||
mtx.RLock()
|
|
||||||
defer mtx.RUnlock()
|
|
||||||
return len(completedTxes)-start >= i+1
|
|
||||||
}, time.Second*3, time.Millisecond)
|
|
||||||
checkMainTx(t, requesters, requests, len(requests), false)
|
checkMainTx(t, requesters, requests, len(requests), false)
|
||||||
checkFallbackTxs(t, requests[:i+1], true)
|
checkFallbackTxs(t, requests[:i+2], true)
|
||||||
checkFallbackTxs(t, requests[i+1:], false)
|
checkFallbackTxs(t, requests[i+2:], false)
|
||||||
}
|
}
|
||||||
|
|
||||||
// OnRequestRemoval: missing account
|
// OnRequestRemoval: missing account
|
||||||
|
|
Loading…
Reference in a new issue