Skip to content

Commit 132147e

Browse files
authored
change logger for unit test smartbft (#5014)
Signed-off-by: Fedor Partanskiy <[email protected]>
1 parent 98b7ba7 commit 132147e

File tree

2 files changed

+36
-24
lines changed

2 files changed

+36
-24
lines changed

orderer/consensus/smartbft/chain_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"testing"
1313
"time"
1414

15+
"github.com/hyperledger/fabric-lib-go/common/flogging"
1516
cb "github.com/hyperledger/fabric-protos-go-apiv2/common"
1617
"github.com/hyperledger/fabric-protos-go-apiv2/msp"
1718
"github.com/hyperledger/fabric/common/channelconfig"
@@ -358,6 +359,9 @@ func TestAddAndRemoveNodeWithoutStop(t *testing.T) {
358359
dir := t.TempDir()
359360
channelId := "testchannel"
360361

362+
flogging.ActivateSpec("debug")
363+
defer flogging.ActivateSpec("info")
364+
361365
// start a network
362366
networkSetupInfo := NewNetworkSetupInfo(t, channelId, dir)
363367
networkSetupInfo.configInfo.leaderHeartbeatTimeout = time.Minute

orderer/consensus/smartbft/util_network_test.go

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ type NetworkSetupInfo struct {
6464
genesisBlock *cb.Block
6565
tlsCA tlsgen.CA
6666
configInfo *ConfigInfo
67+
Logger *flogging.FabricLogger
6768
}
6869

6970
func NewNetworkSetupInfo(t *testing.T, channelId string, rootDir string) *NetworkSetupInfo {
@@ -73,6 +74,7 @@ func NewNetworkSetupInfo(t *testing.T, channelId string, rootDir string) *Networ
7374
dir: rootDir,
7475
channelId: channelId,
7576
configInfo: NewConfigInfo(t),
77+
Logger: flogging.MustGetLogger("orderer.consensus.smartbft").With("channel", channelId),
7678
}
7779
}
7880

@@ -113,7 +115,7 @@ func (ns *NetworkSetupInfo) AddNewNode() (map[uint64]*Node, *Node) {
113115
numberOfNodes = numberOfNodes + 1
114116
newNodeId := numberOfNodes
115117

116-
ns.t.Logf("Adding node %v to the network", newNodeId)
118+
ns.Logger.Infof("Adding node %v to the network", newNodeId)
117119

118120
ledgerToSyncWith := findLargestDifferentLedger(ns.nodeIdToNode, newNodeId)
119121

@@ -128,7 +130,7 @@ func (ns *NetworkSetupInfo) AddNewNode() (map[uint64]*Node, *Node) {
128130
}
129131

130132
func (ns *NetworkSetupInfo) RemoveNode(num uint64) map[uint64]*Node {
131-
ns.t.Logf("Removing node %v from the network", num)
133+
ns.Logger.Infof("Removing node %v from the network", num)
132134
delete(ns.nodeIdToNode, num)
133135

134136
// update all nodes about the nodes map
@@ -140,7 +142,7 @@ func (ns *NetworkSetupInfo) RemoveNode(num uint64) map[uint64]*Node {
140142
}
141143

142144
func (ns *NetworkSetupInfo) StartAllNodes() {
143-
ns.t.Logf("Starting nodes in the network")
145+
ns.Logger.Infof("Starting nodes in the network")
144146
for _, node := range ns.nodeIdToNode {
145147
node.Start()
146148
}
@@ -150,16 +152,16 @@ func (ns *NetworkSetupInfo) SendTxToAllAvailableNodes(tx *cb.Envelope) error {
150152
var errorsArr []error
151153
for idx, node := range ns.nodeIdToNode {
152154
if !node.IsAvailable() {
153-
ns.t.Logf("Sending tx to node %v, but the node is not available", idx)
155+
ns.Logger.Infof("Sending tx to node %v, but the node is not available", idx)
154156
continue
155157
}
156-
ns.t.Logf("Sending tx to node %v", idx)
158+
ns.Logger.Infof("Sending tx to node %v", idx)
157159
err := node.SendTx(tx)
158160
if err != nil {
159161
errorsArr = append(errorsArr, err)
160-
ns.t.Logf("Error occurred during sending tx to node %v: %v", idx, err)
162+
ns.Logger.Infof("Error occurred during sending tx to node %v: %v", idx, err)
161163
} else {
162-
ns.t.Logf("Tx to node %v was sent successfully", idx)
164+
ns.Logger.Infof("Tx to node %v was sent successfully", idx)
163165
}
164166
}
165167
return errors.Join(errorsArr...)
@@ -170,7 +172,7 @@ func (ns *NetworkSetupInfo) RestartAllNodes() error {
170172
for _, node := range ns.nodeIdToNode {
171173
err := node.Restart(ns.configInfo)
172174
if err != nil {
173-
ns.t.Logf("Restarting node %v fail: %v", node.NodeId, err)
175+
ns.Logger.Infof("Restarting node %v fail: %v", node.NodeId, err)
174176
}
175177
errorsArr = append(errorsArr, err)
176178
}
@@ -209,17 +211,20 @@ type Node struct {
209211
nodesMap map[uint64]*Node
210212
Endpoint string
211213
lock sync.RWMutex
214+
Logger *flogging.FabricLogger
212215
}
213216

214217
func NewNode(t *testing.T, nodeId uint64, rootDir string, channelId string, genesisBlock *cb.Block, configInfo *ConfigInfo, ledgerToSyncWith []*cb.Block) *Node {
215-
t.Logf("Creating node %d", nodeId)
218+
logger := flogging.MustGetLogger("orderer.consensus.smartbft").With("channel", channelId).With("nodeId", nodeId)
219+
220+
logger.Infof("Creating node %d", nodeId)
216221
nodeWorkingDir := filepath.Join(rootDir, fmt.Sprintf("node-%d", nodeId))
217222

218-
t.Logf("Creating working directory for node %d: %s", nodeId, nodeWorkingDir)
223+
logger.Infof("Creating working directory for node %d: %s", nodeId, nodeWorkingDir)
219224
err := os.Mkdir(nodeWorkingDir, os.ModePerm)
220225
require.NoError(t, err)
221226

222-
t.Log("Creating chain")
227+
logger.Info("Creating chain")
223228
node := &Node{
224229
t: t,
225230
NodeId: nodeId,
@@ -229,6 +234,7 @@ func NewNode(t *testing.T, nodeId uint64, rootDir string, channelId string, gene
229234
IsStarted: false,
230235
IsConnectedToNetwork: false,
231236
Endpoint: fmt.Sprintf("%s:%d", "localhost", 9000+nodeId),
237+
Logger: logger,
232238
}
233239

234240
// To test a case in which a new node is added to an existing network, its chain should be aware of his existence.
@@ -253,7 +259,7 @@ func (n *Node) Start() {
253259
}
254260

255261
func (n *Node) Restart(configInfo *ConfigInfo) error {
256-
n.t.Logf("Restarting node %d", n.NodeId)
262+
n.Logger.Infof("Restarting node %d", n.NodeId)
257263
n.lock.Lock()
258264
defer n.lock.Unlock()
259265
newChain, err := createBFTChainUsingMocks(n.t, n, configInfo)
@@ -268,7 +274,7 @@ func (n *Node) Restart(configInfo *ConfigInfo) error {
268274
}
269275

270276
func (n *Node) Stop() {
271-
n.t.Logf("Stoping node %d", n.NodeId)
277+
n.Logger.Infof("Stoping node %d", n.NodeId)
272278
n.lock.Lock()
273279
defer n.lock.Unlock()
274280
n.IsStarted = false
@@ -327,7 +333,7 @@ func (n *Node) sendMessage(sender uint64, target uint64, message *smartbftprotos
327333
return fmt.Errorf("target node %d does not exist", target)
328334
}
329335
targetNode.receiveMessage(sender, message)
330-
n.t.Logf("Node %v received a message of type <%s> from node %v", targetNode.NodeId, reflect.TypeOf(message.GetContent()), sender)
336+
n.Logger.Infof("Node %v received a message of type <%s> from node %v", targetNode.NodeId, reflect.TypeOf(message.GetContent()), sender)
331337
return nil
332338
}
333339

@@ -461,7 +467,7 @@ func createBFTChainUsingMocks(t *testing.T, node *Node, configInfo *ConfigInfo)
461467
}).Maybe()
462468
blockPuller.EXPECT().PullBlock(mock.Anything).RunAndReturn(
463469
func(seq uint64) *cb.Block {
464-
t.Logf("Node %d reqested PullBlock %d, returning nil", node.NodeId, seq)
470+
node.Logger.Infof("Node %d reqested PullBlock %d, returning nil", node.NodeId, seq)
465471
return nil
466472
}).Maybe()
467473

@@ -470,7 +476,7 @@ func createBFTChainUsingMocks(t *testing.T, node *Node, configInfo *ConfigInfo)
470476

471477
comm := smartBFTMocks.NewCommunicator(t)
472478
comm.EXPECT().Configure(mock.Anything, mock.Anything).Run(func(channel string, members []cluster.RemoteNode) {
473-
t.Logf("Configuring channel with remote nodes")
479+
node.Logger.Infof("Configuring channel with remote nodes")
474480
})
475481

476482
signerSerializerMock := smartBFTMocks.NewSignerSerializer(t)
@@ -507,13 +513,13 @@ func createBFTChainUsingMocks(t *testing.T, node *Node, configInfo *ConfigInfo)
507513
supportMock.EXPECT().WriteBlock(mock.Anything, mock.Anything).Run(
508514
func(block *cb.Block, encodedMetadataValue []byte) {
509515
node.State.AddBlock(block)
510-
t.Logf("Node %d appended block number %v to ledger", node.NodeId, block.Header.Number)
516+
node.Logger.Infof("Node %d appended block number %v to ledger", node.NodeId, block.Header.Number)
511517
}).Maybe()
512518

513519
supportMock.EXPECT().WriteConfigBlock(mock.Anything, mock.Anything).Run(
514520
func(block *cb.Block, encodedMetadataValue []byte) {
515521
node.State.AddBlock(block)
516-
t.Logf("Node %d appended config block number %v to ledger", node.NodeId, block.Header.Number)
522+
node.Logger.Infof("Node %d appended config block number %v to ledger", node.NodeId, block.Header.Number)
517523
configInfo.lock.Lock()
518524
defer configInfo.lock.Unlock()
519525
if !slices.Contains(configInfo.numsOfConfigBlocks, block.Header.Number) {
@@ -550,20 +556,20 @@ func createBFTChainUsingMocks(t *testing.T, node *Node, configInfo *ConfigInfo)
550556
egressCommMock.EXPECT().SendTransaction(mock.Anything, mock.Anything).Run(
551557
func(targetNodeId uint64, message []byte) {
552558
if !node.IsConnectedToNetwork {
553-
t.Logf("Node %d requested SendTransaction to node %d but is not connected to the network", node.NodeId, targetNodeId)
559+
node.Logger.Infof("Node %d requested SendTransaction to node %d but is not connected to the network", node.NodeId, targetNodeId)
554560
return
555561
}
556-
t.Logf("Node %d requested SendTransaction to node %d", node.NodeId, targetNodeId)
562+
node.Logger.Infof("Node %d requested SendTransaction to node %d", node.NodeId, targetNodeId)
557563
err := node.sendRequest(node.NodeId, targetNodeId, message)
558564
require.NoError(t, err)
559565
}).Maybe()
560566
egressCommMock.EXPECT().SendConsensus(mock.Anything, mock.Anything).Run(
561567
func(targetNodeId uint64, message *smartbftprotos.Message) {
562568
if !node.IsConnectedToNetwork {
563-
t.Logf("Node %d requested SendConsensus to node %d of type <%s> but is not connected to the network", node.NodeId, targetNodeId, reflect.TypeOf(message.GetContent()))
569+
node.Logger.Infof("Node %d requested SendConsensus to node %d of type <%s> but is not connected to the network", node.NodeId, targetNodeId, reflect.TypeOf(message.GetContent()))
564570
return
565571
}
566-
t.Logf("Node %d requested SendConsensus to node %d of type <%s>", node.NodeId, targetNodeId, reflect.TypeOf(message.GetContent()))
572+
node.Logger.Infof("Node %d requested SendConsensus to node %d of type <%s>", node.NodeId, targetNodeId, reflect.TypeOf(message.GetContent()))
567573
err := node.sendMessage(node.NodeId, targetNodeId, message)
568574
require.NoError(t, err)
569575
}).Maybe()
@@ -575,7 +581,7 @@ func createBFTChainUsingMocks(t *testing.T, node *Node, configInfo *ConfigInfo)
575581
synchronizerMock := smartBFTMocks.NewSynchronizer(t)
576582
synchronizerMock.EXPECT().Sync().RunAndReturn(
577583
func() types.SyncResponse {
578-
t.Logf("Sync Called by node %v", node.NodeId)
584+
node.Logger.Infof("Sync Called by node %v", node.NodeId)
579585
// iterate over the ledger of the other nodes and find the highest ledger to sync with
580586
ledgerToCopy := findLargestDifferentLedger(node.nodesMap, node.NodeId)
581587

@@ -672,8 +678,10 @@ func createConfigBlock(t *testing.T, channelId string) (*cb.Block, tlsgen.CA) {
672678
}
673679

674680
func generateCertificatesSmartBFT(t *testing.T, confAppSmartBFT *genesisconfig.Profile, tlsCA tlsgen.CA, certDir string) {
681+
logger := flogging.MustGetLogger("orderer.consensus.smartbft")
682+
675683
for i, c := range confAppSmartBFT.Orderer.ConsenterMapping {
676-
t.Logf("BFT Consenter: %+v", c)
684+
logger.Infof("BFT Consenter: %+v", c)
677685
srvP, clnP := generateSingleCertificateSmartBFT(t, tlsCA, certDir, i, c.Host)
678686
c.Identity = srvP
679687
c.ServerTLSCert = srvP

0 commit comments

Comments
 (0)