OSDN Git Service

fix fast sync skeleton limit error when chain fork (#391)
[bytom/vapor.git] / netsync / chainmgr / fast_sync_test.go
index dcb7186..07e2fca 100644 (file)
@@ -99,7 +99,9 @@ func TestFastBlockSync(t *testing.T) {
        }()
 
        baseChain := mockBlocks(nil, 300)
-
+       chainX := []*types.Block{}
+       chainX = append(chainX, baseChain[:30]...)
+       chainX = append(chainX, mockBlocks(baseChain[30], 500)...)
        cases := []struct {
                syncTimeout time.Duration
                aBlocks     []*types.Block
@@ -149,6 +151,13 @@ func TestFastBlockSync(t *testing.T) {
                        want:        baseChain[:50],
                        err:         errSkeletonSize,
                },
+               {
+                       syncTimeout: 30 * time.Second,
+                       aBlocks:     chainX[:50],
+                       bBlocks:     baseChain[:301],
+                       want:        baseChain[:128],
+                       err:         nil,
+               },
        }
 
        for i, c := range cases {