forked from ssvlabs/ssv-spec
-
Notifications
You must be signed in to change notification settings - Fork 0
/
all_tests.go
248 lines (233 loc) · 7.77 KB
/
all_tests.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
package spectest
import (
"github.com/MatheusFranco99/ssv-spec-AleaBFT/qbft/spectest/tests"
"github.com/MatheusFranco99/ssv-spec-AleaBFT/qbft/spectest/tests/commit"
"github.com/MatheusFranco99/ssv-spec-AleaBFT/qbft/spectest/tests/controller/decided"
"github.com/MatheusFranco99/ssv-spec-AleaBFT/qbft/spectest/tests/controller/futuremsg"
"github.com/MatheusFranco99/ssv-spec-AleaBFT/qbft/spectest/tests/controller/latemsg"
"github.com/MatheusFranco99/ssv-spec-AleaBFT/qbft/spectest/tests/controller/processmsg"
"github.com/MatheusFranco99/ssv-spec-AleaBFT/qbft/spectest/tests/messages"
"github.com/MatheusFranco99/ssv-spec-AleaBFT/qbft/spectest/tests/prepare"
"github.com/MatheusFranco99/ssv-spec-AleaBFT/qbft/spectest/tests/proposal"
"github.com/MatheusFranco99/ssv-spec-AleaBFT/qbft/spectest/tests/proposer"
"github.com/MatheusFranco99/ssv-spec-AleaBFT/qbft/spectest/tests/roundchange"
"github.com/MatheusFranco99/ssv-spec-AleaBFT/qbft/spectest/tests/startinstance"
"github.com/MatheusFranco99/ssv-spec-AleaBFT/qbft/spectest/tests/timeout"
"testing"
)
type SpecTest interface {
TestName() string
Run(t *testing.T)
}
var AllTests = []SpecTest{
timeout.Round1(),
timeout.Round2(),
timeout.Round3(),
timeout.Round5(),
timeout.Round20(),
decided.Valid(),
decided.HasQuorum(),
decided.LateDecided(),
decided.LateDecidedBiggerQuorum(),
decided.LateDecidedSmallerQuorum(),
decided.NoQuorum(),
decided.DuplicateMsg(),
decided.DuplicateSigners(),
decided.ImparsableData(),
decided.Invalid(),
decided.InvalidData(),
decided.InvalidValCheckData(),
decided.PastInstance(),
decided.UnknownSigner(),
decided.WrongMsgType(),
decided.WrongSignature(),
decided.MultiDecidedInstances(),
decided.FutureInstance(),
decided.CurrentInstance(),
decided.CurrentInstancePastRound(),
decided.CurrentInstanceFutureRound(),
processmsg.MsgError(),
processmsg.BroadcastedDecided(),
processmsg.SingleConsensusMsg(),
processmsg.FullDecided(),
processmsg.InvalidIdentifier(),
processmsg.NoInstanceRunning(),
latemsg.LateCommit(),
latemsg.LateCommitPastRound(),
latemsg.LateCommitNoInstance(),
latemsg.LateCommitPastInstance(),
latemsg.LatePrepare(),
latemsg.LatePrepareNoInstance(),
latemsg.LatePreparePastInstance(),
latemsg.LatePreparePastRound(),
latemsg.LateProposal(),
latemsg.LateProposalNoInstance(),
latemsg.LateProposalPastInstance(),
latemsg.LateProposalPastRound(),
latemsg.LateRoundChange(),
latemsg.LateRoundChangeNoInstance(),
latemsg.LateRoundChangePastInstance(),
latemsg.LateRoundChangePastRound(),
latemsg.FullFlowAfterDecided(),
futuremsg.NoSigners(),
futuremsg.MultiSigners(),
futuremsg.Cleanup(),
futuremsg.DuplicateSigner(),
futuremsg.F1FutureMsgs(),
futuremsg.InvalidMsg(),
futuremsg.UnknownSigner(),
futuremsg.WrongSig(),
startinstance.Valid(),
startinstance.EmptyValue(),
startinstance.NilValue(),
startinstance.PostFutureDecided(),
startinstance.FirstHeight(),
startinstance.PreviousDecided(),
startinstance.PreviousNotDecided(),
startinstance.InvalidValue(),
proposer.FourOperators(),
proposer.SevenOperators(),
proposer.TenOperators(),
proposer.ThirteenOperators(),
messages.RoundChangeDataInvalidJustifications(),
messages.RoundChangeDataInvalidPreparedRound(),
messages.RoundChangeDataInvalidPreparedValue(),
messages.RoundChangePrePreparedJustifications(),
messages.RoundChangeNotPreparedJustifications(),
messages.CommitDataEncoding(),
messages.MsgNilIdentifier(),
messages.MsgNonZeroIdentifier(),
messages.MsgTypeUnknown(),
messages.PrepareDataEncoding(),
messages.ProposeDataEncoding(),
messages.MsgDataNil(),
messages.MsgDataNonZero(),
messages.SignedMsgSigTooShort(),
messages.SignedMsgSigTooLong(),
messages.SignedMsgNoSigners(),
messages.SignedMsgDuplicateSigners(),
messages.SignedMsgMultiSigners(),
messages.GetRoot(),
messages.SignedMessageEncoding(),
messages.CreateProposal(),
messages.CreateProposalPreviouslyPrepared(),
messages.CreateProposalNotPreviouslyPrepared(),
messages.CreatePrepare(),
messages.CreateCommit(),
messages.CreateRoundChange(),
messages.CreateRoundChangePreviouslyPrepared(),
messages.RoundChangeDataEncoding(),
messages.PrepareDataInvalid(),
messages.CommitDataInvalid(),
messages.ProposalDataInvalid(),
messages.SignedMessageSigner0(),
tests.HappyFlow(),
tests.SevenOperators(),
tests.TenOperators(),
tests.ThirteenOperators(),
proposal.CurrentRoundPrevNotPrepared(),
proposal.CurrentRoundPrevPrepared(),
proposal.PastRoundProposalPrevPrepared(),
proposal.NotPreparedPreviouslyJustification(),
proposal.PreparedPreviouslyJustification(),
proposal.DifferentJustifications(),
proposal.JustificationsNotHeighest(),
proposal.JustificationsValueNotJustified(),
proposal.DuplicateMsg(),
proposal.DuplicateMsgDifferentValue(),
proposal.FirstRoundJustification(),
proposal.FutureRoundPrevNotPrepared(),
proposal.FutureRound(),
proposal.ImparsableProposalData(),
proposal.InvalidRoundChangeJustificationPrepared(),
proposal.InvalidRoundChangeJustification(),
proposal.PreparedPreviouslyNoRCJustificationQuorum(),
proposal.NoRCJustification(),
proposal.PreparedPreviouslyNoPrepareJustificationQuorum(),
proposal.PreparedPreviouslyDuplicatePrepareMsg(),
proposal.PreparedPreviouslyDuplicatePrepareQuorum(),
proposal.PreparedPreviouslyDuplicateRCMsg(),
proposal.PreparedPreviouslyDuplicateRCQuorum(),
proposal.DuplicateRCMsg(),
proposal.InvalidPrepareJustificationValue(),
proposal.InvalidPrepareJustificationRound(),
proposal.InvalidProposalData(),
proposal.InvalidValueCheck(),
proposal.MultiSigner(),
proposal.PostDecided(),
proposal.PostPrepared(),
proposal.SecondProposalForRound(),
proposal.WrongHeight(),
proposal.WrongProposer(),
proposal.WrongSignature(),
proposal.UnknownSigner(),
prepare.DuplicateMsg(),
prepare.HappyFlow(),
prepare.ImparsableProposalData(),
prepare.InvalidPrepareData(),
prepare.MultiSigner(),
prepare.NoPreviousProposal(),
prepare.OldRound(),
prepare.FutureRound(),
prepare.PostDecided(),
prepare.WrongData(),
prepare.WrongHeight(),
prepare.WrongSignature(),
prepare.UnknownSigner(),
commit.CurrentRound(),
commit.FutureRound(),
commit.PastRound(),
commit.DuplicateMsg(),
commit.HappyFlow(),
commit.InvalidCommitData(),
commit.PostDecided(),
commit.WrongData1(),
commit.WrongData2(),
commit.MultiSignerWithOverlap(),
commit.MultiSignerNoOverlap(),
commit.DuplicateSigners(),
commit.NoPrevAcceptedProposal(),
commit.WrongHeight(),
commit.ImparsableCommitData(),
commit.WrongSignature(),
commit.UnknownSigner(),
commit.InvalidValCheck(),
commit.NoPrepareQuorum(),
roundchange.HappyFlow(),
roundchange.WrongHeight(),
roundchange.WrongSig(),
roundchange.UnknownSigner(),
roundchange.MultiSigner(),
roundchange.QuorumNotPrepared(),
roundchange.QuorumPrepared(),
roundchange.PeerPrepared(),
roundchange.PeerPreparedDifferentHeights(),
roundchange.JustificationWrongValue(),
roundchange.JustificationWrongRound(),
roundchange.JustificationNoQuorum(),
roundchange.JustificationMultiSigners(),
roundchange.JustificationInvalidSig(),
roundchange.JustificationInvalidRound(),
roundchange.JustificationInvalidPrepareData(),
roundchange.JustificationDuplicateMsg(),
roundchange.InvalidRoundChangeData(),
roundchange.F1DifferentFutureRounds(),
roundchange.F1DifferentFutureRoundsNotPrepared(),
roundchange.PastRound(),
roundchange.DuplicateMsgQuorum(),
roundchange.DuplicateMsgQuorumPreparedRCFirst(),
roundchange.DuplicateMsg(),
roundchange.ImparsableRoundChangeData(),
roundchange.NotProposer(),
roundchange.ValidJustification(),
roundchange.F1DuplicateSigner(),
roundchange.F1DuplicateSignerNotPrepared(),
roundchange.F1Speedup(),
roundchange.F1SpeedupPrevPrepared(),
roundchange.AfterProposal(),
roundchange.RoundChangePartialQuorum(),
roundchange.QuorumOrder2(),
roundchange.QuorumOrder1(),
roundchange.QuorumMsgNotPrepared(),
roundchange.JustificationPastRound(),
}