Skip to content

Commit a5c20eb

Browse files
committed
split: squash datadriven command parsing
Epic: none Release note: none
1 parent a46a2a8 commit a5c20eb

File tree

2 files changed

+28
-43
lines changed

2 files changed

+28
-43
lines changed

pkg/kv/kvserver/split/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ go_test(
3535
"//pkg/keys",
3636
"//pkg/roachpb",
3737
"//pkg/testutils/datapathutils",
38+
"//pkg/testutils/dd",
3839
"//pkg/testutils/skip",
3940
"//pkg/util/leaktest",
4041
"//pkg/util/metric",

pkg/kv/kvserver/split/load_based_splitter_test.go

Lines changed: 27 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"github.com/cockroachdb/cockroach/pkg/keys"
2121
"github.com/cockroachdb/cockroach/pkg/roachpb"
2222
"github.com/cockroachdb/cockroach/pkg/testutils/datapathutils"
23+
"github.com/cockroachdb/cockroach/pkg/testutils/dd"
2324
"github.com/cockroachdb/cockroach/pkg/testutils/skip"
2425
"github.com/cockroachdb/cockroach/pkg/util/leaktest"
2526
"github.com/cockroachdb/cockroach/pkg/util/timeutil"
@@ -790,51 +791,38 @@ func TestDataDriven(t *testing.T) {
790791
datadriven.RunTest(t, path, func(t *testing.T, d *datadriven.TestData) string {
791792
switch d.Cmd {
792793
case "requests":
793-
var keyDist, spanDist, weightDist string
794-
var keyIMax, spanIMax, weightIMax int
795-
var rangeRequestPercent, requestCount int
794+
keyDist := dd.ScanArg[string](t, d, "key_dist")
795+
spanDist := dd.ScanArg[string](t, d, "span_dist")
796+
weightDist := dd.ScanArg[string](t, d, "weight_dist")
796797

797-
d.ScanArgs(t, "key_dist", &keyDist)
798-
d.ScanArgs(t, "span_dist", &spanDist)
799-
d.ScanArgs(t, "weight_dist", &weightDist)
798+
keyIMax := dd.ScanArg[uint64](t, d, "key_max")
799+
spanIMax := dd.ScanArg[uint64](t, d, "span_max")
800+
weightIMax := dd.ScanArg[uint64](t, d, "weight_max")
800801

801-
d.ScanArgs(t, "key_max", &keyIMax)
802-
d.ScanArgs(t, "span_max", &spanIMax)
803-
d.ScanArgs(t, "weight_max", &weightIMax)
804-
805-
d.ScanArgs(t, "range_request_percent", &rangeRequestPercent)
806-
d.ScanArgs(t, "request_count", &requestCount)
802+
rangeRequestPercent := dd.ScanArg[int](t, d, "range_request_percent")
803+
requestCount := dd.ScanArg[int](t, d, "request_count")
807804

808805
reqConfigs = append(reqConfigs, requestConfig{
809806
startKeyGeneratorType: parseGeneratorType(keyDist),
810-
startKeyGeneratorIMax: uint64(keyIMax),
807+
startKeyGeneratorIMax: keyIMax,
811808
spanLengthGeneratorType: parseGeneratorType(spanDist),
812-
spanLengthGeneratorIMax: uint64(spanIMax),
809+
spanLengthGeneratorIMax: spanIMax,
813810
weightGeneratorType: parseGeneratorType(weightDist),
814-
weightGeneratorIMax: uint64(weightIMax),
811+
weightGeneratorIMax: weightIMax,
815812
rangeRequestPercent: float64(rangeRequestPercent) / 100.0,
816813
numRequests: requestCount,
817814
})
818815
return ""
819816
case "finder":
820-
var weighted bool
821-
d.ScanArgs(t, "weighted", &weighted)
822-
823817
findConfig = &finderConfig{
824-
weighted: weighted,
818+
weighted: dd.ScanArg[bool](t, d, "weighted"),
825819
}
826820
decConfig = nil
827821
case "decider":
828-
var duration int
829-
var threshold int
830-
var retentionSeconds, durationSeconds int
831-
var objective string
832-
833-
d.ScanArgs(t, "duration", &duration)
834-
d.ScanArgs(t, "retention", &retentionSeconds)
835-
d.ScanArgs(t, "duration", &durationSeconds)
836-
d.ScanArgs(t, "objective", &objective)
837-
d.ScanArgs(t, "threshold", &threshold)
822+
duration := dd.ScanArg[int](t, d, "duration")
823+
retentionSeconds := dd.ScanArg[int](t, d, "retention")
824+
objective := dd.ScanArg[string](t, d, "objective")
825+
threshold := dd.ScanArg[int](t, d, "threshold")
838826
splitObj := parseObjType(objective)
839827

840828
decConfig = &deciderConfig{
@@ -845,21 +833,17 @@ func TestDataDriven(t *testing.T) {
845833
}
846834
findConfig = nil
847835
case "eval":
848-
var seed uint64
849-
var iterations, mixCount int
850-
var showTiming, cartesian, all, showLastState bool
851-
var mix string
836+
seed := dd.ScanArg[uint64](t, d, "seed")
837+
iterations := dd.ScanArg[int](t, d, "iterations")
838+
showTiming := dd.ScanArgOr(t, d, "timing", false)
839+
cartesian := dd.ScanArgOr(t, d, "cartesian", false)
840+
all := dd.ScanArgOr(t, d, "all", false)
841+
showLastState := dd.ScanArgOr(t, d, "show_last", false)
842+
843+
var mixCount int
852844
var mixT mixType
853-
854-
d.ScanArgs(t, "seed", &seed)
855-
d.ScanArgs(t, "iterations", &iterations)
856-
d.MaybeScanArgs(t, "timing", &showTiming)
857-
d.MaybeScanArgs(t, "cartesian", &cartesian)
858-
d.MaybeScanArgs(t, "all", &all)
859-
d.MaybeScanArgs(t, "show_last", &showLastState)
860-
if d.HasArg("mix") {
861-
d.ScanArgs(t, "mix", &mix)
862-
d.ScanArgs(t, "mix_count", &mixCount)
845+
if mix, ok := dd.ScanArgOpt[string](t, d, "mix"); ok {
846+
mixCount = dd.ScanArg[int](t, d, "mix_count")
863847
switch mix {
864848
case "sequential":
865849
mixT = sequential

0 commit comments

Comments
 (0)