File tree Expand file tree Collapse file tree
FoundationDB.FakeDb.Tests/Scenarios Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ {
2+ "name" : " fuzz_rwa_0343" ,
3+ "description" : " generated read-write atomics (compare-and-clear under selector reads) fuzz (seed 343)" ,
4+ "steps" : [
5+ {
6+ "op" : " Begin" ,
7+ "actor" : " A"
8+ },
9+ {
10+ "op" : " Set" ,
11+ "actor" : " A" ,
12+ "key" : " !0" ,
13+ "value" : " s0"
14+ },
15+ {
16+ "op" : " Set" ,
17+ "actor" : " A" ,
18+ "key" : " ~0" ,
19+ "value" : " s0"
20+ },
21+ {
22+ "op" : " Set" ,
23+ "actor" : " A" ,
24+ "key" : " !1" ,
25+ "value" : " s1"
26+ },
27+ {
28+ "op" : " Set" ,
29+ "actor" : " A" ,
30+ "key" : " ~1" ,
31+ "value" : " s1"
32+ },
33+ {
34+ "op" : " Set" ,
35+ "actor" : " A" ,
36+ "key" : " !2" ,
37+ "value" : " s2"
38+ },
39+ {
40+ "op" : " Set" ,
41+ "actor" : " A" ,
42+ "key" : " ~2" ,
43+ "value" : " s2"
44+ },
45+ {
46+ "op" : " Set" ,
47+ "actor" : " A" ,
48+ "key" : " !3" ,
49+ "value" : " s3"
50+ },
51+ {
52+ "op" : " Set" ,
53+ "actor" : " A" ,
54+ "key" : " ~3" ,
55+ "value" : " s3"
56+ },
57+ {
58+ "op" : " Set" ,
59+ "actor" : " A" ,
60+ "key" : " k1" ,
61+ "value" : " c5"
62+ },
63+ {
64+ "op" : " Set" ,
65+ "actor" : " A" ,
66+ "key" : " k3" ,
67+ "value" : " c3"
68+ },
69+ {
70+ "op" : " Set" ,
71+ "actor" : " A" ,
72+ "key" : " k6" ,
73+ "value" : " c7"
74+ },
75+ {
76+ "op" : " Commit" ,
77+ "actor" : " A"
78+ },
79+ {
80+ "op" : " Begin" ,
81+ "actor" : " W2"
82+ },
83+ {
84+ "op" : " Begin" ,
85+ "actor" : " P"
86+ },
87+ {
88+ "op" : " Begin" ,
89+ "actor" : " W1"
90+ },
91+ {
92+ "op" : " Atomic" ,
93+ "actor" : " W1" ,
94+ "key" : " k1" ,
95+ "value" : " z9" ,
96+ "mutation" : " CompareAndClear"
97+ },
98+ {
99+ "op" : " Dispose" ,
100+ "actor" : " W2"
101+ },
102+ {
103+ "op" : " Commit" ,
104+ "actor" : " P"
105+ },
106+ {
107+ "op" : " Atomic" ,
108+ "actor" : " W1" ,
109+ "key" : " k1" ,
110+ "value" : " " ,
111+ "mutation" : " CompareAndClear"
112+ },
113+ {
114+ "op" : " Atomic" ,
115+ "actor" : " W1" ,
116+ "key" : " k1" ,
117+ "value" : " b8" ,
118+ "mutation" : " ByteMax"
119+ },
120+ {
121+ "op" : " Begin" ,
122+ "actor" : " W2"
123+ },
124+ {
125+ "op" : " GetKey" ,
126+ "actor" : " W2" ,
127+ "sel" : {
128+ "key" : " k0" ,
129+ "orEqual" : false ,
130+ "offset" : 2
131+ },
132+ "snapshot" : true
133+ },
134+ {
135+ "op" : " Set" ,
136+ "actor" : " W1" ,
137+ "key" : " k0" ,
138+ "value" : " v7"
139+ },
140+ {
141+ "op" : " Begin" ,
142+ "actor" : " P"
143+ },
144+ {
145+ "op" : " GetRange" ,
146+ "actor" : " W1" ,
147+ "sel" : {
148+ "key" : " !1" ,
149+ "orEqual" : false ,
150+ "offset" : 4
151+ },
152+ "endSel" : {
153+ "key" : " k2a" ,
154+ "orEqual" : true ,
155+ "offset" : -2
156+ }
157+ },
158+ {
159+ "op" : " Clear" ,
160+ "actor" : " P" ,
161+ "key" : " k3"
162+ },
163+ {
164+ "op" : " Atomic" ,
165+ "actor" : " W1" ,
166+ "key" : " k1" ,
167+ "value" : " " ,
168+ "mutation" : " CompareAndClear"
169+ },
170+ {
171+ "op" : " GetRange" ,
172+ "actor" : " W1" ,
173+ "sel" : {
174+ "key" : " k0" ,
175+ "orEqual" : true ,
176+ "offset" : 4
177+ },
178+ "endSel" : {
179+ "key" : " k1a" ,
180+ "orEqual" : false ,
181+ "offset" : -2
182+ },
183+ "reverse" : true
184+ },
185+ {
186+ "op" : " Atomic" ,
187+ "actor" : " W2" ,
188+ "key" : " k5" ,
189+ "value" : " c5" ,
190+ "mutation" : " CompareAndClear"
191+ },
192+ {
193+ "op" : " GetKey" ,
194+ "actor" : " W1" ,
195+ "sel" : {
196+ "key" : " !2" ,
197+ "orEqual" : true ,
198+ "offset" : 2
199+ }
200+ },
201+ {
202+ "op" : " GetRange" ,
203+ "actor" : " W2" ,
204+ "sel" : {
205+ "key" : " k1" ,
206+ "orEqual" : false ,
207+ "offset" : 1
208+ },
209+ "endSel" : {
210+ "key" : " k3" ,
211+ "orEqual" : true ,
212+ "offset" : 2
213+ },
214+ "limit" : 1 ,
215+ "snapshot" : true
216+ },
217+ {
218+ "op" : " GetRange" ,
219+ "actor" : " W2" ,
220+ "sel" : {
221+ "key" : " k3" ,
222+ "orEqual" : false ,
223+ "offset" : -2
224+ },
225+ "endSel" : {
226+ "key" : " k4a" ,
227+ "orEqual" : true ,
228+ "offset" : 4
229+ }
230+ },
231+ {
232+ "op" : " Clear" ,
233+ "actor" : " W1" ,
234+ "key" : " k2"
235+ },
236+ {
237+ "op" : " Atomic" ,
238+ "actor" : " W1" ,
239+ "key" : " k4" ,
240+ "value" : " c3" ,
241+ "mutation" : " CompareAndClear"
242+ },
243+ {
244+ "op" : " Clear" ,
245+ "actor" : " W1" ,
246+ "key" : " k0"
247+ },
248+ {
249+ "op" : " Clear" ,
250+ "actor" : " P" ,
251+ "key" : " k2"
252+ },
253+ {
254+ "op" : " Clear" ,
255+ "actor" : " P" ,
256+ "key" : " k5"
257+ },
258+ {
259+ "op" : " ClearRange" ,
260+ "actor" : " P" ,
261+ "key" : " k2" ,
262+ "endKey" : " k2z"
263+ },
264+ {
265+ "op" : " ClearRange" ,
266+ "actor" : " P" ,
267+ "key" : " k2" ,
268+ "endKey" : " k6"
269+ },
270+ {
271+ "op" : " Atomic" ,
272+ "actor" : " W1" ,
273+ "key" : " k5" ,
274+ "value" : " \\ xaa\\ x03\\ x00\\ x00\\ x00\\ x00\\ x00\\ x00" ,
275+ "mutation" : " Max"
276+ },
277+ {
278+ "op" : " GetRange" ,
279+ "actor" : " W1" ,
280+ "sel" : {
281+ "key" : " k1" ,
282+ "orEqual" : true ,
283+ "offset" : 2
284+ },
285+ "endSel" : {
286+ "key" : " k5" ,
287+ "orEqual" : false ,
288+ "offset" : -4
289+ },
290+ "reverse" : true
291+ },
292+ {
293+ "op" : " GetKey" ,
294+ "actor" : " W1" ,
295+ "sel" : {
296+ "key" : " !3" ,
297+ "orEqual" : true ,
298+ "offset" : 4
299+ }
300+ },
301+ {
302+ "op" : " Commit" ,
303+ "actor" : " W2"
304+ },
305+ {
306+ "op" : " Clear" ,
307+ "actor" : " P" ,
308+ "key" : " k1"
309+ },
310+ {
311+ "op" : " Commit" ,
312+ "actor" : " W1"
313+ },
314+ {
315+ "op" : " Commit" ,
316+ "actor" : " P"
317+ }
318+ ]
319+ }
You can’t perform that action at this time.
0 commit comments