Skip to content

Commit 59064f3

Browse files
committed
[FAB-15226] Re-enable gossip integration test
- Re-enable gossip integration test - minor fixes applied to improve async test flow. Change-Id: I3d6862b384c9ebf21b29d3c1fbc083593160e6b4 Signed-off-by: Chongxin Luo <Chongxin.Luo@ibm.com>
1 parent 4940b1f commit 59064f3

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

integration/gossip/gossip_test.go

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ var _ = Describe("Gossip Test", func() {
3232
client *docker.Client
3333
network *nwo.Network
3434
chaincode nwo.Chaincode
35-
process ifrit.Process
3635
)
3736

3837
BeforeEach(func() {
@@ -53,17 +52,13 @@ var _ = Describe("Gossip Test", func() {
5352
})
5453

5554
AfterEach(func() {
56-
if process != nil {
57-
process.Signal(syscall.SIGTERM)
58-
Eventually(process.Wait(), network.EventuallyTimeout).Should(Receive())
59-
}
6055
if network != nil {
6156
network.Cleanup()
6257
}
6358
os.RemoveAll(testDir)
6459
})
6560

66-
PDescribe("Gossip state transfer test", func() {
61+
Describe("Gossip state transfer test", func() {
6762
var (
6863
ordererProcess ifrit.Process
6964
peerProcesses = map[string]ifrit.Process{}
@@ -119,6 +114,7 @@ var _ = Describe("Gossip Test", func() {
119114
orderer := network.Orderer("orderer")
120115
ordererRunner := network.OrdererRunner(orderer)
121116
ordererProcess = ifrit.Invoke(ordererRunner)
117+
Eventually(ordererProcess.Ready(), network.EventuallyTimeout).Should(BeClosed())
122118

123119
peer0Org1, peer1Org1 := network.Peer("Org1", "peer0"), network.Peer("Org1", "peer1")
124120
peer0Org2, peer1Org2 := network.Peer("Org2", "peer0"), network.Peer("Org2", "peer1")
@@ -146,6 +142,10 @@ var _ = Describe("Gossip Test", func() {
146142
peersToStop := []*nwo.Peer{peer1Org1, peer1Org2}
147143
stopPeers(network, peersToStop, peerProcesses)
148144

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+
149149
peersToSyncUp := []*nwo.Peer{peer1Org1, peer1Org2}
150150
sendTransactionsAndSyncUpPeers(network, orderer, basePeerForTransactions, peersToSyncUp, channelName, &ordererProcess, ordererRunner, peerProcesses, peerRunners)
151151

@@ -157,6 +157,9 @@ var _ = Describe("Gossip Test", func() {
157157
peersToStop = []*nwo.Peer{peer0Org1, peer1Org2}
158158
stopPeers(network, peersToStop, peerProcesses)
159159

160+
By("confirm peer1Org1 elected to be a leader")
161+
Eventually(peerRunners[peer1Org1.ID()].Err(), network.EventuallyTimeout).Should(gbytes.Say(expectedMsg))
162+
160163
peersToSyncUp = []*nwo.Peer{peer0Org1, peer1Org2}
161164
// Note that with the static leader in Org2 down, the static follower peer0Org2 will also get blocks via state transfer
162165
// 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
198201

199202
for _, peer := range peersToStart {
200203
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
202208
peerRun[peer.ID()] = runner
203209
}
204210
}
@@ -245,5 +251,5 @@ func sendTransactionsAndSyncUpPeers(network *nwo.Network, orderer *nwo.Orderer,
245251
orderer = network.Orderer("orderer")
246252
ordererRunner = network.OrdererRunner(orderer)
247253
*ordererProcess = ifrit.Invoke(ordererRunner)
248-
254+
Eventually((*ordererProcess).Ready(), network.EventuallyTimeout).Should(BeClosed())
249255
}

0 commit comments

Comments
 (0)