mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-15 17:30:44 +00:00
eth/downloader: remove version from test names and remove multi-version test
This commit is contained in:
parent
cf9a022c5f
commit
c8e956d6a9
1 changed files with 12 additions and 52 deletions
|
|
@ -17,7 +17,6 @@
|
||||||
package downloader
|
package downloader
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"math/big"
|
"math/big"
|
||||||
"sync"
|
"sync"
|
||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
|
|
@ -399,8 +398,8 @@ func assertOwnChain(t *testing.T, tester *downloadTester, length int) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestCanonicalSynchronisation68Full(t *testing.T) { testCanonSync(t, eth.ETH69, FullSync) }
|
func TestCanonicalSynchronisationFull(t *testing.T) { testCanonSync(t, eth.ETH69, FullSync) }
|
||||||
func TestCanonicalSynchronisation68Snap(t *testing.T) { testCanonSync(t, eth.ETH69, SnapSync) }
|
func TestCanonicalSynchronisationSnap(t *testing.T) { testCanonSync(t, eth.ETH69, SnapSync) }
|
||||||
|
|
||||||
func testCanonSync(t *testing.T, protocol uint, mode SyncMode) {
|
func testCanonSync(t *testing.T, protocol uint, mode SyncMode) {
|
||||||
success := make(chan struct{})
|
success := make(chan struct{})
|
||||||
|
|
@ -427,8 +426,8 @@ func testCanonSync(t *testing.T, protocol uint, mode SyncMode) {
|
||||||
|
|
||||||
// Tests that if a large batch of blocks are being downloaded, it is throttled
|
// Tests that if a large batch of blocks are being downloaded, it is throttled
|
||||||
// until the cached blocks are retrieved.
|
// until the cached blocks are retrieved.
|
||||||
func TestThrottling68Full(t *testing.T) { testThrottling(t, eth.ETH69, FullSync) }
|
func TestThrottlingFull(t *testing.T) { testThrottling(t, eth.ETH69, FullSync) }
|
||||||
func TestThrottling68Snap(t *testing.T) { testThrottling(t, eth.ETH69, SnapSync) }
|
func TestThrottlingSnap(t *testing.T) { testThrottling(t, eth.ETH69, SnapSync) }
|
||||||
|
|
||||||
func testThrottling(t *testing.T, protocol uint, mode SyncMode) {
|
func testThrottling(t *testing.T, protocol uint, mode SyncMode) {
|
||||||
tester := newTester(t, mode)
|
tester := newTester(t, mode)
|
||||||
|
|
@ -505,8 +504,8 @@ func testThrottling(t *testing.T, protocol uint, mode SyncMode) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tests that a canceled download wipes all previously accumulated state.
|
// Tests that a canceled download wipes all previously accumulated state.
|
||||||
func TestCancel68Full(t *testing.T) { testCancel(t, eth.ETH69, FullSync) }
|
func TestCancelFull(t *testing.T) { testCancel(t, eth.ETH69, FullSync) }
|
||||||
func TestCancel68Snap(t *testing.T) { testCancel(t, eth.ETH69, SnapSync) }
|
func TestCancelSnap(t *testing.T) { testCancel(t, eth.ETH69, SnapSync) }
|
||||||
|
|
||||||
func testCancel(t *testing.T, protocol uint, mode SyncMode) {
|
func testCancel(t *testing.T, protocol uint, mode SyncMode) {
|
||||||
complete := make(chan struct{})
|
complete := make(chan struct{})
|
||||||
|
|
@ -535,49 +534,10 @@ func testCancel(t *testing.T, protocol uint, mode SyncMode) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tests that synchronisations behave well in multi-version protocol environments
|
|
||||||
// and not wreak havoc on other nodes in the network.
|
|
||||||
func TestMultiProtoSynchronisation68Full(t *testing.T) { testMultiProtoSync(t, eth.ETH69, FullSync) }
|
|
||||||
func TestMultiProtoSynchronisation68Snap(t *testing.T) { testMultiProtoSync(t, eth.ETH69, SnapSync) }
|
|
||||||
|
|
||||||
func testMultiProtoSync(t *testing.T, protocol uint, mode SyncMode) {
|
|
||||||
complete := make(chan struct{})
|
|
||||||
success := func() {
|
|
||||||
close(complete)
|
|
||||||
}
|
|
||||||
tester := newTesterWithNotification(t, mode, success)
|
|
||||||
defer tester.terminate()
|
|
||||||
|
|
||||||
// Create a small enough block chain to download
|
|
||||||
chain := testChainBase.shorten(blockCacheMaxItems - 15)
|
|
||||||
|
|
||||||
// Create peers of every type
|
|
||||||
tester.newPeer("peer 68", eth.ETH69, chain.blocks[1:])
|
|
||||||
|
|
||||||
if err := tester.downloader.BeaconSync(chain.blocks[len(chain.blocks)-1].Header(), nil); err != nil {
|
|
||||||
t.Fatalf("failed to start beacon sync: %v", err)
|
|
||||||
}
|
|
||||||
select {
|
|
||||||
case <-complete:
|
|
||||||
break
|
|
||||||
case <-time.NewTimer(time.Second * 3).C:
|
|
||||||
t.Fatalf("Failed to sync chain in three seconds")
|
|
||||||
}
|
|
||||||
assertOwnChain(t, tester, len(chain.blocks))
|
|
||||||
|
|
||||||
// Check that no peers have been dropped off
|
|
||||||
for _, version := range []int{68} {
|
|
||||||
peer := fmt.Sprintf("peer %d", version)
|
|
||||||
if _, ok := tester.peers[peer]; !ok {
|
|
||||||
t.Errorf("%s dropped", peer)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Tests that if a block is empty (e.g. header only), no body request should be
|
// Tests that if a block is empty (e.g. header only), no body request should be
|
||||||
// made, and instead the header should be assembled into a whole block in itself.
|
// made, and instead the header should be assembled into a whole block in itself.
|
||||||
func TestEmptyShortCircuit68Full(t *testing.T) { testEmptyShortCircuit(t, eth.ETH69, FullSync) }
|
func TestEmptyShortCircuitFull(t *testing.T) { testEmptyShortCircuit(t, eth.ETH69, FullSync) }
|
||||||
func TestEmptyShortCircuit68Snap(t *testing.T) { testEmptyShortCircuit(t, eth.ETH69, SnapSync) }
|
func TestEmptyShortCircuitSnap(t *testing.T) { testEmptyShortCircuit(t, eth.ETH69, SnapSync) }
|
||||||
|
|
||||||
func testEmptyShortCircuit(t *testing.T, protocol uint, mode SyncMode) {
|
func testEmptyShortCircuit(t *testing.T, protocol uint, mode SyncMode) {
|
||||||
success := make(chan struct{})
|
success := make(chan struct{})
|
||||||
|
|
@ -645,8 +605,8 @@ func checkProgress(t *testing.T, d *Downloader, stage string, want ethereum.Sync
|
||||||
|
|
||||||
// Tests that peers below a pre-configured checkpoint block are prevented from
|
// Tests that peers below a pre-configured checkpoint block are prevented from
|
||||||
// being fast-synced from, avoiding potential cheap eclipse attacks.
|
// being fast-synced from, avoiding potential cheap eclipse attacks.
|
||||||
func TestBeaconSync68Full(t *testing.T) { testBeaconSync(t, eth.ETH69, FullSync) }
|
func TestBeaconSyncFull(t *testing.T) { testBeaconSync(t, eth.ETH69, FullSync) }
|
||||||
func TestBeaconSync68Snap(t *testing.T) { testBeaconSync(t, eth.ETH69, SnapSync) }
|
func TestBeaconSyncSnap(t *testing.T) { testBeaconSync(t, eth.ETH69, SnapSync) }
|
||||||
|
|
||||||
func testBeaconSync(t *testing.T, protocol uint, mode SyncMode) {
|
func testBeaconSync(t *testing.T, protocol uint, mode SyncMode) {
|
||||||
var cases = []struct {
|
var cases = []struct {
|
||||||
|
|
@ -691,8 +651,8 @@ func testBeaconSync(t *testing.T, protocol uint, mode SyncMode) {
|
||||||
|
|
||||||
// Tests that synchronisation progress (origin block number, current block number
|
// Tests that synchronisation progress (origin block number, current block number
|
||||||
// and highest block number) is tracked and updated correctly.
|
// and highest block number) is tracked and updated correctly.
|
||||||
func TestSyncProgress68Full(t *testing.T) { testSyncProgress(t, eth.ETH69, FullSync) }
|
func TestSyncProgressFull(t *testing.T) { testSyncProgress(t, eth.ETH69, FullSync) }
|
||||||
func TestSyncProgress68Snap(t *testing.T) { testSyncProgress(t, eth.ETH69, SnapSync) }
|
func TestSyncProgressSnap(t *testing.T) { testSyncProgress(t, eth.ETH69, SnapSync) }
|
||||||
|
|
||||||
func testSyncProgress(t *testing.T, protocol uint, mode SyncMode) {
|
func testSyncProgress(t *testing.T, protocol uint, mode SyncMode) {
|
||||||
success := make(chan struct{})
|
success := make(chan struct{})
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue