I just checked you new tests but for the test TestGossiper_No_Contention_Single_Retry, there is the following line:
The comment do not fit the code, we should have the following code to fit the comment:
// Node A, as a proposer, should've gossiped at least one propose message
require.True(t, len(aSent) > 1)
require.True(t, len(aSent) >= 1)
My implementation only work with this second version. If I think about the logic, after 1 second we might have only one packet as the paxosRetry is set to 2s. I might be wrong but I in this case do have a clue on this issue.
Thanks in advance,