Golang implemented sidechain for Bytom
修订版 | 29b39ff573a9ebb7cf447f0666ea63286047b382 (tree) |
---|---|
时间 | 2020-02-26 11:24:40 |
作者 | ipqhjjybj <250657661@qq.c...> |
Commiter | ipqhjjybj |
add test code
@@ -40,10 +40,11 @@ func TestRollbackMock(t *testing.T) { | ||
40 | 40 | bestBlockHeader *types.BlockHeader |
41 | 41 | lastIrrBlockHeader *types.BlockHeader |
42 | 42 | storedBlocks []*types.Block |
43 | + storedConsensusResult []*state.ConsensusResult | |
43 | 44 | beforeBestConsensusResult *state.ConsensusResult |
44 | 45 | expectBestBlockHeader *types.BlockHeader |
45 | 46 | expectLastIrrBlockHeader *types.BlockHeader |
46 | - afterBestConsensusResult *state.ConsensusResult | |
47 | + expectBestConsensusResult *state.ConsensusResult | |
47 | 48 | targetHeight uint64 |
48 | 49 | }{ |
49 | 50 | { |
@@ -101,6 +102,28 @@ func TestRollbackMock(t *testing.T) { | ||
101 | 102 | }, |
102 | 103 | }, |
103 | 104 | }, |
105 | + storedConsensusResult: []*state.ConsensusResult{ | |
106 | + { | |
107 | + Seq: 1, | |
108 | + NumOfVote: map[string]uint64{ | |
109 | + "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100002000, | |
110 | + "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 100002000, | |
111 | + }, | |
112 | + BlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"), | |
113 | + BlockHeight: 1, | |
114 | + CoinbaseReward: map[string]uint64{"0001": consensus.BlockSubsidy(1)}, | |
115 | + }, | |
116 | + { | |
117 | + Seq: 0, | |
118 | + NumOfVote: map[string]uint64{ | |
119 | + "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000, | |
120 | + "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 100002000, | |
121 | + }, | |
122 | + BlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"), | |
123 | + BlockHeight: 0, | |
124 | + CoinbaseReward: map[string]uint64{"0001": 0}, | |
125 | + }, | |
126 | + }, | |
104 | 127 | beforeBestConsensusResult: &state.ConsensusResult{ |
105 | 128 | Seq: 1, |
106 | 129 | NumOfVote: map[string]uint64{ |
@@ -111,7 +134,7 @@ func TestRollbackMock(t *testing.T) { | ||
111 | 134 | BlockHeight: 1, |
112 | 135 | CoinbaseReward: map[string]uint64{"0001": consensus.BlockSubsidy(1)}, |
113 | 136 | }, |
114 | - afterBestConsensusResult: &state.ConsensusResult{ | |
137 | + expectBestConsensusResult: &state.ConsensusResult{ | |
115 | 138 | Seq: 0, |
116 | 139 | NumOfVote: map[string]uint64{ |
117 | 140 | "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000, |
@@ -140,7 +163,9 @@ func TestRollbackMock(t *testing.T) { | ||
140 | 163 | mockStore.SaveBlock(block, status) |
141 | 164 | } |
142 | 165 | |
143 | - mockStore.SetConsensusResult(c.beforeBestConsensusResult) | |
166 | + for _, consensusResult := range c.storedConsensusResult { | |
167 | + mockStore.SetConsensusResult(consensusResult) | |
168 | + } | |
144 | 169 | |
145 | 170 | chain := &Chain{ |
146 | 171 | store: mockStore, |
@@ -168,8 +193,8 @@ func TestRollbackMock(t *testing.T) { | ||
168 | 193 | t.Fatal(err) |
169 | 194 | } |
170 | 195 | |
171 | - if !testutil.DeepEqual(nowConsensusResult, c.expectBestBlockHeader) { | |
172 | - t.Fatalf("expectBestBlockHeader is not right!") | |
196 | + if !testutil.DeepEqual(nowConsensusResult, c.expectBestConsensusResult) { | |
197 | + t.Fatalf("expectBestConsensusResult is not right!") | |
173 | 198 | } |
174 | 199 | } |
175 | 200 | } |