@@ -32,7 +32,6 @@ var _ = Describe("Gossip Test", func() {
32
32
client * docker.Client
33
33
network * nwo.Network
34
34
chaincode nwo.Chaincode
35
- process ifrit.Process
36
35
)
37
36
38
37
BeforeEach (func () {
@@ -53,17 +52,13 @@ var _ = Describe("Gossip Test", func() {
53
52
})
54
53
55
54
AfterEach (func () {
56
- if process != nil {
57
- process .Signal (syscall .SIGTERM )
58
- Eventually (process .Wait (), network .EventuallyTimeout ).Should (Receive ())
59
- }
60
55
if network != nil {
61
56
network .Cleanup ()
62
57
}
63
58
os .RemoveAll (testDir )
64
59
})
65
60
66
- PDescribe ("Gossip state transfer test" , func () {
61
+ Describe ("Gossip state transfer test" , func () {
67
62
var (
68
63
ordererProcess ifrit.Process
69
64
peerProcesses = map [string ]ifrit.Process {}
@@ -119,6 +114,7 @@ var _ = Describe("Gossip Test", func() {
119
114
orderer := network .Orderer ("orderer" )
120
115
ordererRunner := network .OrdererRunner (orderer )
121
116
ordererProcess = ifrit .Invoke (ordererRunner )
117
+ Eventually (ordererProcess .Ready (), network .EventuallyTimeout ).Should (BeClosed ())
122
118
123
119
peer0Org1 , peer1Org1 := network .Peer ("Org1" , "peer0" ), network .Peer ("Org1" , "peer1" )
124
120
peer0Org2 , peer1Org2 := network .Peer ("Org2" , "peer0" ), network .Peer ("Org2" , "peer1" )
@@ -146,6 +142,10 @@ var _ = Describe("Gossip Test", func() {
146
142
peersToStop := []* nwo.Peer {peer1Org1 , peer1Org2 }
147
143
stopPeers (network , peersToStop , peerProcesses )
148
144
145
+ By ("confirm peer0Org1 elected to be a leader" )
146
+ expectedMsg := "Elected as a leader, starting delivery service for channel testchannel"
147
+ Eventually (peerRunners [peer0Org1 .ID ()].Err (), network .EventuallyTimeout ).Should (gbytes .Say (expectedMsg ))
148
+
149
149
peersToSyncUp := []* nwo.Peer {peer1Org1 , peer1Org2 }
150
150
sendTransactionsAndSyncUpPeers (network , orderer , basePeerForTransactions , peersToSyncUp , channelName , & ordererProcess , ordererRunner , peerProcesses , peerRunners )
151
151
@@ -157,6 +157,9 @@ var _ = Describe("Gossip Test", func() {
157
157
peersToStop = []* nwo.Peer {peer0Org1 , peer1Org2 }
158
158
stopPeers (network , peersToStop , peerProcesses )
159
159
160
+ By ("confirm peer1Org1 elected to be a leader" )
161
+ Eventually (peerRunners [peer1Org1 .ID ()].Err (), network .EventuallyTimeout ).Should (gbytes .Say (expectedMsg ))
162
+
160
163
peersToSyncUp = []* nwo.Peer {peer0Org1 , peer1Org2 }
161
164
// Note that with the static leader in Org2 down, the static follower peer0Org2 will also get blocks via state transfer
162
165
// This effectively tests leader election as well, since the newly elected leader in Org1 (peer1Org1) will be the only peer
@@ -198,7 +201,10 @@ func startPeers(network *nwo.Network, peersToStart []*nwo.Peer, peerProc map[str
198
201
199
202
for _ , peer := range peersToStart {
200
203
runner := network .PeerRunner (peer , env ... )
201
- peerProc [peer .ID ()] = ifrit .Invoke (runner )
204
+ process := ifrit .Invoke (runner )
205
+ Eventually (process .Ready (), network .EventuallyTimeout ).Should (BeClosed ())
206
+
207
+ peerProc [peer .ID ()] = process
202
208
peerRun [peer .ID ()] = runner
203
209
}
204
210
}
@@ -245,5 +251,5 @@ func sendTransactionsAndSyncUpPeers(network *nwo.Network, orderer *nwo.Orderer,
245
251
orderer = network .Orderer ("orderer" )
246
252
ordererRunner = network .OrdererRunner (orderer )
247
253
* ordererProcess = ifrit .Invoke (ordererRunner )
248
-
254
+ Eventually (( * ordererProcess ). Ready (), network . EventuallyTimeout ). Should ( BeClosed ())
249
255
}
0 commit comments