Skip to content
This repository was archived by the owner on Apr 25, 2025. It is now read-only.

Commit cc5f23c

Browse files
committed
[FAB-10518] Ensure testing prints to stdout is flushed
Change-Id: Iedf6d7106b0ac33f99f0d18864058fbe275703e5 Signed-off-by: Troy Ronda <troy@troyronda.com>
1 parent 9ef508f commit cc5f23c

File tree

14 files changed

+102
-80
lines changed

14 files changed

+102
-80
lines changed

pkg/core/config/config_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ package config
88

99
import (
1010
"bytes"
11-
"fmt"
1211
"os"
1312
"testing"
1413

1514
"github.com/hyperledger/fabric-sdk-go/pkg/common/logging"
1615
"github.com/hyperledger/fabric-sdk-go/pkg/common/providers/core"
1716
"github.com/hyperledger/fabric-sdk-go/pkg/core/cryptosuite"
17+
"github.com/hyperledger/fabric-sdk-go/pkg/util/test"
1818

1919
"github.com/pkg/errors"
2020
"github.com/spf13/viper"
@@ -244,7 +244,7 @@ func setUp(m *testing.M) {
244244
var err error
245245
cfgBackend, err := FromFile(configTestFilePath)()
246246
if err != nil {
247-
fmt.Println(err.Error())
247+
test.Logf(err.Error())
248248
}
249249
if len(cfgBackend) != 1 {
250250
panic("invalid backend found")

pkg/fab/comm/comm_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515

1616
eventmocks "github.com/hyperledger/fabric-sdk-go/pkg/fab/events/mocks"
1717
"github.com/hyperledger/fabric-sdk-go/pkg/fab/mocks"
18+
"github.com/hyperledger/fabric-sdk-go/pkg/util/test"
1819
pb "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/peer"
1920
"github.com/pkg/errors"
2021
"google.golang.org/grpc"
@@ -73,14 +74,14 @@ func startEndorsers(count int, address string) ([]*grpc.Server, []string, error)
7374
func startEndorserServer(grpcServer *grpc.Server, address string) (*mocks.MockEndorserServer, string, bool) {
7475
lis, err := net.Listen("tcp", address)
7576
if err != nil {
76-
fmt.Printf("Error starting test server %s\n", err)
77+
test.Logf("Error starting test server [%s]", err)
7778
return nil, "", false
7879
}
7980
addr := lis.Addr().String()
8081

8182
endorserServer := &mocks.MockEndorserServer{}
8283
pb.RegisterEndorserServer(grpcServer, endorserServer)
83-
fmt.Printf("Starting test server on %s\n", addr)
84+
test.Logf("Starting test server [%s]", addr)
8485
go grpcServer.Serve(lis)
8586
return endorserServer, addr, true
8687
}

pkg/fab/events/client/client_test.go

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
"github.com/hyperledger/fabric-sdk-go/pkg/common/options"
1919
"github.com/hyperledger/fabric-sdk-go/pkg/common/providers/context"
2020
"github.com/hyperledger/fabric-sdk-go/pkg/common/providers/fab"
21+
"github.com/hyperledger/fabric-sdk-go/pkg/util/test"
2122

2223
"github.com/hyperledger/fabric-sdk-go/pkg/fab/events/api"
2324
"github.com/hyperledger/fabric-sdk-go/pkg/fab/events/client/dispatcher"
@@ -824,7 +825,7 @@ func checkConcurrentEvents(blockTestErr chan error, t *testing.T, fblockTestErr
824825

825826
func checkIfAllEventsRecv(blockTestDone bool, fblockTestDone bool, ccTestDone bool, txStatusTestDone bool) bool {
826827
if blockTestDone && fblockTestDone && ccTestDone && txStatusTestDone {
827-
fmt.Println("All tests completed successfully")
828+
test.Logf("All tests completed successfully")
828829
return true
829830
}
830831
return false
@@ -880,15 +881,15 @@ func listenBlockEvents(channelID string, eventch <-chan *fab.BlockEvent, expecte
880881
select {
881882
case _, ok := <-eventch:
882883
if !ok {
883-
fmt.Println("Block events channel was closed")
884+
test.Logf("Block events channel was closed")
884885
return
885886
}
886887
numReceived++
887888
case <-time.After(5 * time.Second):
888889
if numReceived != expected {
889890
errch <- errors.Errorf("Expected [%d] events but received [%d]", expected, numReceived)
890891
} else {
891-
fmt.Printf("Received %d block events\n", numReceived)
892+
test.Logf("Received %d block events", numReceived)
892893
errch <- nil
893894
}
894895
return
@@ -903,7 +904,7 @@ func listenFilteredBlockEvents(channelID string, eventch <-chan *fab.FilteredBlo
903904
select {
904905
case fbevent, ok := <-eventch:
905906
if !ok {
906-
fmt.Print("Filtered block events channel was closed \n")
907+
test.Logf("Filtered block events channel was closed")
907908
return
908909
}
909910
if fbevent.FilteredBlock == nil {
@@ -919,7 +920,7 @@ func listenFilteredBlockEvents(channelID string, eventch <-chan *fab.FilteredBlo
919920
if numReceived != expected {
920921
errch <- errors.Errorf("Expected [%d] events but received [%d]", expected, numReceived)
921922
} else {
922-
fmt.Printf("Received %d filtered block events\n", numReceived)
923+
test.Logf("Received %d filtered block events", numReceived)
923924
errch <- nil
924925
}
925926
return
@@ -935,7 +936,7 @@ func listenChaincodeEvents(channelID string, eventch <-chan *fab.CCEvent, expect
935936
select {
936937
case event, ok := <-eventch:
937938
if !ok {
938-
fmt.Println("CC events channel was closed")
939+
test.Logf("CC events channel was closed")
939940
return
940941
}
941942
if event.BlockNumber > 0 && event.BlockNumber <= lastBlockNum {
@@ -947,7 +948,7 @@ func listenChaincodeEvents(channelID string, eventch <-chan *fab.CCEvent, expect
947948
if numReceived != expected {
948949
errch <- errors.Errorf("Expected [%d] events but received [%d]", expected, numReceived)
949950
} else {
950-
fmt.Printf("Received %d CC events\n", numReceived)
951+
test.Logf("Received %d CC events", numReceived)
951952
errch <- nil
952953
}
953954
return
@@ -1216,15 +1217,15 @@ func listenConnection(eventch chan *dispatcher.ConnectionEvent, outcome chan moc
12161217

12171218
for {
12181219
e, ok := <-eventch
1219-
fmt.Printf("listenConnection - got event [%+v] - ok=[%t]\n", e, ok)
1220+
test.Logf("listenConnection - got event [%+v] - ok=[%t]", e, ok)
12201221
if !ok {
1221-
fmt.Println("listenConnection - Returning terminated outcome")
1222+
test.Logf("listenConnection - Returning terminated outcome")
12221223
outcome <- mockconn.ClosedOutcome
12231224
break
12241225
}
12251226
if e.Connected {
12261227
if state == Disconnected {
1227-
fmt.Println("listenConnection - Returning reconnected outcome")
1228+
test.Logf("listenConnection - Returning reconnected outcome")
12281229
outcome <- mockconn.ReconnectedOutcome
12291230
}
12301231
state = Connected
@@ -1273,11 +1274,11 @@ var clientProvider = func(context context.Client, chConfig fab.ChannelCfg, disco
12731274
opts = append(opts, WithBlockEvents())
12741275
return newClient(context, chConfig, discoveryService, connectionProvider, opts,
12751276
func() error {
1276-
fmt.Println("AfterConnect called")
1277+
test.Logf("AfterConnect called")
12771278
return nil
12781279
},
12791280
func() error {
1280-
fmt.Println("BeforeReconnect called")
1281+
test.Logf("BeforeReconnect called")
12811282
return nil
12821283
})
12831284
}
@@ -1294,11 +1295,11 @@ var failAfterConnectClientProvider = func(context context.Client, chConfig fab.C
12941295
var filteredClientProvider = func(context context.Client, chConfig fab.ChannelCfg, discoveryService fab.DiscoveryService, connectionProvider api.ConnectionProvider, opts []options.Opt) (*Client, error) {
12951296
return newClient(context, chConfig, discoveryService, connectionProvider, opts,
12961297
func() error {
1297-
fmt.Println("AfterConnect called")
1298+
test.Logf("AfterConnect called")
12981299
return nil
12991300
},
13001301
func() error {
1301-
fmt.Println("BeforeReconnect called")
1302+
test.Logf("BeforeReconnect called")
13021303
return nil
13031304
})
13041305
}

pkg/fab/events/endpoint/endpoint_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ SPDX-License-Identifier: Apache-2.0
77
package endpoint
88

99
import (
10-
"fmt"
1110
"testing"
1211
"time"
1312

1413
"github.com/hyperledger/fabric-sdk-go/pkg/common/providers/fab"
1514
clientmocks "github.com/hyperledger/fabric-sdk-go/pkg/fab/events/client/mocks"
1615
fabmocks "github.com/hyperledger/fabric-sdk-go/pkg/fab/mocks"
1716
mspmocks "github.com/hyperledger/fabric-sdk-go/pkg/msp/test/mockmsp"
17+
"github.com/hyperledger/fabric-sdk-go/pkg/util/test"
1818
"github.com/stretchr/testify/assert"
1919
)
2020

@@ -135,7 +135,7 @@ func newMockConfig(channelPeers ...fab.ChannelPeer) *mockConfig {
135135
}
136136

137137
func (c *mockConfig) ChannelPeers(name string) ([]fab.ChannelPeer, bool) {
138-
fmt.Printf("mockConfig.ChannelPeers - returning %#v\n", c.channelPeers)
138+
test.Logf("mockConfig.ChannelPeers [%#n]", c.channelPeers)
139139
return c.channelPeers, true
140140
}
141141

pkg/fab/events/service/mocks/mockproducer.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ SPDX-License-Identifier: Apache-2.0
77
package mocks
88

99
import (
10-
"fmt"
1110
"sync"
1211
"sync/atomic"
1312
"time"
1413

14+
"github.com/hyperledger/fabric-sdk-go/pkg/util/test"
1515
pb "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/peer"
1616
)
1717

@@ -133,13 +133,13 @@ func send(eventch chan<- interface{}, event interface{}) {
133133
// During shutdown, events may still be produced and we may
134134
// get a 'send on closed channel' panic. Just log and ignore the error.
135135
if p := recover(); p != nil {
136-
fmt.Printf("panic while submitting event %#v: %s\n", event, p)
136+
test.Logf("panic while submitting event %#v: %s", event, p)
137137
}
138138
}()
139139

140140
select {
141141
case eventch <- event:
142142
case <-time.After(5 * time.Second):
143-
fmt.Print("***** Timed out sending event.\n")
143+
test.Logf("***** Timed out sending event.")
144144
}
145145
}

pkg/fab/mocks/mockbroadcastserver.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ SPDX-License-Identifier: Apache-2.0
77
package mocks
88

99
import (
10-
"io"
11-
1210
"fmt"
11+
"io"
1312
"net"
1413

1514
po "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/protos/orderer"
15+
"github.com/hyperledger/fabric-sdk-go/pkg/util/test"
1616
"github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/common"
1717
"google.golang.org/grpc"
1818
)
@@ -98,11 +98,12 @@ func StartMockBroadcastServer(broadcastTestURL string, grpcServer *grpc.Server)
9898
}
9999
addr := lis.Addr().String()
100100

101+
test.Logf("Starting MockEventServer [%s]", addr)
101102
broadcastServer := new(MockBroadcastServer)
102103
po.RegisterAtomicBroadcastServer(grpcServer, broadcastServer)
103104
go func() {
104105
if err := grpcServer.Serve(lis); err != nil {
105-
fmt.Printf("StartMockBroadcastServer failed to start %s\n", err)
106+
test.Logf("StartMockBroadcastServer failed [%s]", err)
106107
}
107108
}()
108109

pkg/fab/mocks/mockeventserver.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"net"
1212

1313
"github.com/golang/protobuf/proto"
14+
"github.com/hyperledger/fabric-sdk-go/pkg/util/test"
1415
pb "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/peer"
1516
"google.golang.org/grpc"
1617
)
@@ -30,12 +31,13 @@ func StartMockEventServer(testAddress string) (*MockEventServer, error) {
3031
if err != nil {
3132
return nil, fmt.Errorf("starting test server failed %s", err)
3233
}
34+
35+
test.Logf("Starting MockEventServer [%s]", lis.Addr())
3336
eventServer := &MockEventServer{grpcServer: grpcServer}
3437
pb.RegisterEventsServer(grpcServer, eventServer)
35-
fmt.Printf("Starting mock event server\n")
3638
go func() {
3739
if err := grpcServer.Serve(lis); err != nil {
38-
fmt.Printf("StartMockEventServer failed %s\n", err)
40+
test.Logf("StartMockEventServer failed [%s]", err)
3941
}
4042
}()
4143

pkg/fab/orderer/orderer_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"time"
1818

1919
"github.com/hyperledger/fabric-sdk-go/pkg/core/config/endpoint"
20+
"github.com/hyperledger/fabric-sdk-go/pkg/util/test"
2021
"google.golang.org/grpc"
2122
grpccodes "google.golang.org/grpc/codes"
2223

@@ -116,7 +117,7 @@ func startMockServer(grpcServer *grpc.Server) (*mocks.MockBroadcastServer, strin
116117
if err != nil {
117118
panic(fmt.Sprintf("Error starting test server %s", err))
118119
}
119-
fmt.Printf("Starting test server on %s\n", addr)
120+
test.Logf("Starting test server on %s", addr)
120121
go grpcServer.Serve(lis)
121122

122123
return broadcastServer, addr

pkg/fab/resource/resource_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ func TestGenesisBlockWithRetry(t *testing.T) {
261261
if err != nil {
262262
t.Fatalf("GenesisBlock failed: %s", err)
263263
}
264-
fmt.Printf("Block: %#v\n", block)
264+
t.Logf("Block [%#v]", block)
265265
}
266266

267267
/*

pkg/util/concurrent/futurevalue/futurevalue_test.go

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import (
1010
"fmt"
1111
"sync"
1212
"testing"
13+
14+
"github.com/hyperledger/fabric-sdk-go/pkg/util/test"
1315
)
1416

1517
func ExampleValue_Get() {
@@ -64,10 +66,10 @@ func TestFutureValueGet(t *testing.T) {
6466
defer wg.Done()
6567
value, err := fv.Get()
6668
if err != nil {
67-
fail(t, "received error: %s", err)
69+
test.Failf(t, "received error: %s", err)
6870
}
6971
if value != expectedValue {
70-
fail(t, "expecting value [%s] but received [%s]", expectedValue, value)
72+
test.Failf(t, "expecting value [%s] but received [%s]", expectedValue, value)
7173
}
7274
}()
7375
}
@@ -97,7 +99,7 @@ func TestFutureValueGetWithError(t *testing.T) {
9799
go func() {
98100
defer wg.Done()
99101
if _, err := fv.Get(); err == nil {
100-
fail(t, "expecting error but received none")
102+
test.Failf(t, "expecting error but received none")
101103
}
102104
}()
103105
}
@@ -119,23 +121,16 @@ func TestMustGetPanic(t *testing.T) {
119121
go func() {
120122
defer func() {
121123
if r := recover(); r == nil {
122-
fail(t, "Expecting panic but got none")
124+
test.Failf(t, "Expecting panic but got none")
123125
}
124126
done <- true
125127
}()
126128
fv.MustGet()
127-
fail(t, "Expecting panic but got none")
129+
test.Failf(t, "Expecting panic but got none")
128130
}()
129131

130132
if _, err := fv.Initialize(); err == nil {
131133
t.Fatal("expecting error but received none")
132134
}
133135
<-done
134136
}
135-
136-
// fail - as t.Fatalf() is not goroutine safe, this function behaves like t.Fatalf().
137-
func fail(t *testing.T, template string, args ...interface{}) {
138-
fmt.Printf(template, args...)
139-
fmt.Println()
140-
t.Fail()
141-
}

0 commit comments

Comments
 (0)