MCPcopy
hub / github.com/etcd-io/etcd / FuzzTxnRangeRequest

Function FuzzTxnRangeRequest

server/etcdserver/api/v3rpc/validationfuzz_test.go:30–74  ·  view source on GitHub ↗
(f *testing.F)

Source from the content-addressed store, hash-verified

28)
29
30func FuzzTxnRangeRequest(f *testing.F) {
31 testcases := []pb.RangeRequest{
32 {
33 Key: []byte{2},
34 RangeEnd: []byte{2},
35 Limit: 3,
36 Revision: 3,
37 SortOrder: 2,
38 SortTarget: 2,
39 },
40 }
41
42 for _, tc := range testcases {
43 soValue := pb.RangeRequest_SortOrder_value[tc.SortOrder.String()]
44 soTarget := pb.RangeRequest_SortTarget_value[tc.SortTarget.String()]
45 f.Add(tc.Key, tc.RangeEnd, tc.Limit, tc.Revision, soValue, soTarget)
46 }
47
48 f.Fuzz(func(t *testing.T,
49 key []byte,
50 rangeEnd []byte,
51 limit int64,
52 revision int64,
53 sortOrder int32,
54 sortTarget int32,
55 ) {
56 fuzzRequest := &pb.RangeRequest{
57 Key: key,
58 RangeEnd: rangeEnd,
59 Limit: limit,
60 SortOrder: pb.RangeRequest_SortOrder(sortOrder),
61 SortTarget: pb.RangeRequest_SortTarget(sortTarget),
62 }
63
64 verifyCheck(t, func() error {
65 return checkRangeRequest(fuzzRequest)
66 })
67
68 execTransaction(t, &pb.RequestOp{
69 Request: &pb.RequestOp_RequestRange{
70 RequestRange: fuzzRequest,
71 },
72 })
73 })
74}
75
76func FuzzTxnPutRequest(f *testing.F) {
77 testcases := []pb.PutRequest{

Callers

nothing calls this directly

Calls 5

verifyCheckFunction · 0.85
checkRangeRequestFunction · 0.85
execTransactionFunction · 0.85
StringMethod · 0.65
AddMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…