@@ -65,7 +65,7 @@ func NewSuite(dest *enode.Node, chainfile string, genesisfile string) (*Suite, e
6565 }, nil
6666}
6767
68- func (s * Suite ) EthTests () []utesting.Test {
68+ func (s * Suite ) AllEthTests () []utesting.Test {
6969 return []utesting.Test {
7070 // status
7171 {Name : "Status" , Fn : s .TestStatus },
@@ -97,6 +97,38 @@ func (s *Suite) EthTests() []utesting.Test {
9797 }
9898}
9999
100+ func (s * Suite ) EthTests () []utesting.Test {
101+ return []utesting.Test {
102+ {Name : "Status" , Fn : s .TestStatus },
103+ {Name : "GetBlockHeaders" , Fn : s .TestGetBlockHeaders },
104+ {Name : "GetBlockBodies" , Fn : s .TestGetBlockBodies },
105+ {Name : "Broadcast" , Fn : s .TestBroadcast },
106+ {Name : "TestLargeAnnounce" , Fn : s .TestLargeAnnounce },
107+ {Name : "TestMaliciousHandshake" , Fn : s .TestMaliciousHandshake },
108+ {Name : "TestMaliciousStatus" , Fn : s .TestMaliciousStatus },
109+ {Name : "TestMaliciousStatus_66" , Fn : s .TestMaliciousStatus },
110+ {Name : "TestTransactions" , Fn : s .TestTransaction },
111+ {Name : "TestMaliciousTransactions" , Fn : s .TestMaliciousTx },
112+ }
113+ }
114+
115+ func (s * Suite ) Eth66Tests () []utesting.Test {
116+ return []utesting.Test {
117+ // only proceed with eth66 test suite if node supports eth 66 protocol
118+ {Name : "Status_66" , Fn : s .TestStatus_66 },
119+ {Name : "GetBlockHeaders_66" , Fn : s .TestGetBlockHeaders_66 },
120+ {Name : "TestSimultaneousRequests_66" , Fn : s .TestSimultaneousRequests_66 },
121+ {Name : "TestSameRequestID_66" , Fn : s .TestSameRequestID_66 },
122+ {Name : "TestZeroRequestID_66" , Fn : s .TestZeroRequestID_66 },
123+ {Name : "GetBlockBodies_66" , Fn : s .TestGetBlockBodies_66 },
124+ {Name : "Broadcast_66" , Fn : s .TestBroadcast_66 },
125+ {Name : "TestLargeAnnounce_66" , Fn : s .TestLargeAnnounce_66 },
126+ {Name : "TestMaliciousHandshake_66" , Fn : s .TestMaliciousHandshake_66 },
127+ {Name : "TestTransactions_66" , Fn : s .TestTransaction_66 },
128+ {Name : "TestMaliciousTransactions_66" , Fn : s .TestMaliciousTx_66 },
129+ }
130+ }
131+
100132// TestStatus attempts to connect to the given node and exchange
101133// a status message with it, and then check to make sure
102134// the chain head is correct.
@@ -125,7 +157,7 @@ func (s *Suite) TestMaliciousStatus(t *utesting.T) {
125157 // get protoHandshake
126158 conn .handshake (t )
127159 status := & Status {
128- ProtocolVersion : uint32 (conn .ethProtocolVersion ),
160+ ProtocolVersion : uint32 (conn .negotiatedProtoVersion ),
129161 NetworkID : s .chain .chainConfig .ChainID .Uint64 (),
130162 TD : largeNumber (2 ),
131163 Head : s .chain .blocks [s .chain .Len ()- 1 ].Hash (),
@@ -421,6 +453,7 @@ func (s *Suite) dial() (*Conn, error) {
421453 {Name : "eth" , Version : 64 },
422454 {Name : "eth" , Version : 65 },
423455 }
456+ conn .ourHighestProtoVersion = 65
424457 return & conn , nil
425458}
426459
0 commit comments