@@ -24,6 +24,7 @@ import (
2424 "github.com/cockroachdb/cockroach/pkg/roachpb"
2525 "github.com/cockroachdb/cockroach/pkg/server/serverpb"
2626 "github.com/cockroachdb/cockroach/pkg/testutils/datapathutils"
27+ "github.com/cockroachdb/cockroach/pkg/testutils/dd"
2728 "github.com/cockroachdb/cockroach/pkg/util/admission/admissionpb"
2829 "github.com/cockroachdb/cockroach/pkg/util/leaktest"
2930 "github.com/cockroachdb/cockroach/pkg/util/log"
@@ -330,51 +331,43 @@ func TestProcessorBasic(t *testing.T) {
330331 return builderStr ()
331332
332333 case "init-raft" :
333- var mark rac2.LogMark
334- d . ScanArgs (t , "log-term" , & mark . Term )
335- d . ScanArgs (t , "log-index" , & mark . Index )
336- r . initRaft ( mark )
334+ r . initRaft ( rac2.LogMark {
335+ Term : dd . ScanArg [ uint64 ] (t , d , "log-term" ),
336+ Index : dd . ScanArg [ uint64 ] (t , d , "log-index" ),
337+ } )
337338 unlockFunc := LockRaftMuAndReplicaMu (& muAsserter )
338339 p .InitRaftLocked (ctx , r .raftNode , r .raftNode .mark )
339340 unlockFunc ()
340341 return builderStr ()
341342
342343 case "set-raft-state" :
343- if d .HasArg ("leader" ) {
344- var leaderID int
345- d .ScanArgs (t , "leader" , & leaderID )
346- r .raftNode .isLeader = leaderID == replicaID
347- r .raftNode .leader = roachpb .ReplicaID (leaderID )
344+ if id , ok := dd .ScanArgOpt [roachpb.ReplicaID ](t , d , "leader" ); ok {
345+ r .raftNode .isLeader = id == replicaID
346+ r .raftNode .leader = id
348347 }
349- if d .HasArg ("next-unstable-index" ) {
350- var nextUnstableIndex uint64
351- d .ScanArgs (t , "next-unstable-index" , & nextUnstableIndex )
352- r .raftNode .nextUnstableIndex = nextUnstableIndex
348+ if idx , ok := dd .ScanArgOpt [uint64 ](t , d , "next-unstable-index" ); ok {
349+ r .raftNode .nextUnstableIndex = idx
353350 }
354- if d .HasArg ("term" ) {
355- var term uint64
356- d .ScanArgs (t , "term" , & term )
351+ if term , ok := dd .ScanArgOpt [uint64 ](t , d , "term" ); ok {
357352 r .raftNode .term = term
358353 }
359- if d .HasArg ("leaseholder" ) {
360- var leaseholder int
361- d .ScanArgs (t , "leaseholder" , & leaseholder )
362- r .leaseholder = roachpb .ReplicaID (leaseholder )
354+ if lh , ok := dd .ScanArgOpt [roachpb.ReplicaID ](t , d , "leaseholder" ); ok {
355+ r .leaseholder = lh
363356 }
364- if d . HasArg ( "log-term" ) {
365- var mark rac2.LogMark
366- d . ScanArgs ( t , "log- term" , & mark . Term )
367- d . ScanArgs (t , "log-index" , & mark . Index )
368- r . raftNode . setMark ( t , mark )
357+ if term , ok := dd . ScanArgOpt [ uint64 ]( t , d , "log-term" ); ok {
358+ r . raftNode . setMark ( t , rac2.LogMark {
359+ Term : term ,
360+ Index : dd . ScanArg [ uint64 ] (t , d , "log-index" ),
361+ } )
369362 }
370363 r .raftNode .print ()
371364 return builderStr ()
372365
373366 case "synced-log" :
374- var mark rac2.LogMark
375- d . ScanArgs (t , "term" , & mark . Term )
376- d . ScanArgs (t , "index" , & mark . Index )
377- p . SyncedLogStorage ( ctx , mark )
367+ p . SyncedLogStorage ( ctx , rac2.LogMark {
368+ Term : dd . ScanArg [ uint64 ] (t , d , "term" ),
369+ Index : dd . ScanArg [ uint64 ] (t , d , "index" ),
370+ } )
378371 printLogTracker ()
379372 return builderStr ()
380373
@@ -396,13 +389,11 @@ func TestProcessorBasic(t *testing.T) {
396389 // unused by processorImpl, and simply passed down to RangeController
397390 // (which we've mocked out in this test).
398391 var event rac2.RaftEvent
399- if d .HasArg ("entries" ) {
400- var arg string
401- d .ScanArgs (t , "entries" , & arg )
392+ if arg , ok := dd .ScanArgOpt [string ](t , d , "entries" ); ok {
402393 event .Entries = createEntries (t , parseEntryInfos (t , arg ))
403394 }
404395 if len (event .Entries ) > 0 {
405- d . ScanArgs (t , "leader-term" , & event . Term )
396+ event . Term = dd . ScanArg [ uint64 ] (t , d , "leader-term" )
406397 }
407398 fmt .Fprintf (& b , "HandleRaftReady:\n " )
408399 var state RaftNodeBasicState
@@ -427,23 +418,22 @@ func TestProcessorBasic(t *testing.T) {
427418 return builderStr ()
428419
429420 case "enqueue-piggybacked-admitted" :
430- var from , to uint64
431- d .ScanArgs (t , "from" , & from )
432- d .ScanArgs (t , "to" , & to )
433- require .Equal (t , p .opts .ReplicaID , roachpb .ReplicaID (to ))
434-
435- var term , index , pri int
436- d .ScanArgs (t , "term" , & term )
437- d .ScanArgs (t , "index" , & index )
438- d .ScanArgs (t , "pri" , & pri )
439- require .Less (t , pri , int (raftpb .NumPriorities ))
421+ from := dd .ScanArg [roachpb.ReplicaID ](t , d , "from" )
422+ to := dd .ScanArg [roachpb.ReplicaID ](t , d , "to" )
423+ require .Equal (t , p .opts .ReplicaID , to )
424+
425+ term := dd .ScanArg [uint64 ](t , d , "term" )
426+ index := dd .ScanArg [uint64 ](t , d , "index" )
427+ pri := dd .ScanArg [raftpb.Priority ](t , d , "pri" )
428+ require .Less (t , pri , raftpb .NumPriorities )
429+
440430 as := kvflowcontrolpb.AdmittedState {
441- Term : uint64 ( term ) ,
431+ Term : term ,
442432 Admitted : make ([]uint64 , raftpb .NumPriorities ),
443433 }
444- as .Admitted [pri ] = uint64 ( index )
434+ as .Admitted [pri ] = index
445435
446- p .EnqueuePiggybackedAdmittedAtLeader (roachpb . ReplicaID ( from ) , as )
436+ p .EnqueuePiggybackedAdmittedAtLeader (from , as )
447437 return builderStr ()
448438
449439 case "process-piggybacked-admitted" :
@@ -453,34 +443,25 @@ func TestProcessorBasic(t *testing.T) {
453443 return builderStr ()
454444
455445 case "side-channel" :
456- var leaderTerm uint64
457- d .ScanArgs (t , "leader-term" , & leaderTerm )
458- var first , last uint64
459- d .ScanArgs (t , "first" , & first )
460- d .ScanArgs (t , "last" , & last )
461- var lowPriOverride bool
462- if d .HasArg ("low-pri" ) {
463- lowPriOverride = true
464- }
465446 info := SideChannelInfoUsingRaftMessageRequest {
466- LeaderTerm : leaderTerm ,
467- First : first ,
468- Last : last ,
469- LowPriOverride : lowPriOverride ,
447+ LeaderTerm : dd . ScanArg [ uint64 ]( t , d , "leader-term" ) ,
448+ First : dd . ScanArg [ uint64 ]( t , d , " first" ) ,
449+ Last : dd . ScanArg [ uint64 ]( t , d , " last" ) ,
450+ LowPriOverride : d . HasArg ( "low-pri" ) ,
470451 }
471452 unlockFunc := LockRaftMu (& muAsserter )
472453 p .SideChannelForPriorityOverrideAtFollowerRaftMuLocked (info )
473454 unlockFunc ()
474455 return builderStr ()
475456
476457 case "admitted-log-entry" :
477- var cb EntryForAdmissionCallbackState
478- d . ScanArgs ( t , "leader-term" , & cb . Mark . Term )
479- d . ScanArgs (t , "index" , & cb . Mark . Index )
480- var pri int
481- d . ScanArgs ( t , "pri" , & pri )
482- cb . Priority = raftpb .Priority ( pri )
483- p . AdmittedLogEntry ( ctx , cb )
458+ p . AdmittedLogEntry ( ctx , EntryForAdmissionCallbackState {
459+ Mark : rac2. LogMark {
460+ Term : dd . ScanArg [ uint64 ] (t , d , "leader-term" ),
461+ Index : dd . ScanArg [ uint64 ]( t , d , "index" ),
462+ },
463+ Priority : dd . ScanArg [ raftpb.Priority ]( t , d , " pri" ),
464+ } )
484465 printLogTracker ()
485466 return builderStr ()
486467
@@ -500,9 +481,7 @@ func TestProcessorBasic(t *testing.T) {
500481 rc := rcFactory .rcs [len (rcFactory .rcs )- 1 ]
501482 d .ScanArgs (t , "waited" , & rc .waited )
502483 rc .waitForEvalErr = nil
503- if d .HasArg ("err" ) {
504- var errStr string
505- d .ScanArgs (t , "err" , & errStr )
484+ if errStr , ok := dd .ScanArgOpt [string ](t , d , "err" ); ok {
506485 rc .waitForEvalErr = errors .Errorf ("%s" , errStr )
507486 }
508487 return builderStr ()
@@ -525,8 +504,7 @@ func TestProcessorBasic(t *testing.T) {
525504}
526505
527506func parseAdmissionPriority (t * testing.T , td * datadriven.TestData ) admissionpb.WorkPriority {
528- var priStr string
529- td .ScanArgs (t , "pri" , & priStr )
507+ priStr := dd .ScanArg [string ](t , td , "pri" )
530508 for k , v := range admissionpb .WorkPriorityDict {
531509 if v == priStr {
532510 return k
@@ -537,8 +515,7 @@ func parseAdmissionPriority(t *testing.T, td *datadriven.TestData) admissionpb.W
537515}
538516
539517func parseRangeDescriptor (t * testing.T , td * datadriven.TestData ) roachpb.RangeDescriptor {
540- var replicaStr string
541- td .ScanArgs (t , "replicas" , & replicaStr )
518+ replicaStr := dd .ScanArg [string ](t , td , "replicas" )
542519 parts := strings .Split (replicaStr , "," )
543520 var desc roachpb.RangeDescriptor
544521 for _ , part := range parts {
0 commit comments