@@ -250,15 +250,23 @@ func TestGetListCacheBypass(t *testing.T) {
250
250
if err != nil {
251
251
t .Fatalf ("Unexpected error: %v" , err )
252
252
}
253
+ continueOnNegativeRV , err := storage .EncodeContinue (keyPrefix + "foo" , keyPrefix , - 1 )
254
+ if err != nil {
255
+ t .Fatalf ("Unexpected error: %v" , err )
256
+ }
253
257
testCases := map [opts ]bool {}
254
258
testCases [opts {}] = true
255
259
testCases [opts {Limit : 100 }] = true
256
260
testCases [opts {Continue : continueOnRev1 }] = true
257
261
testCases [opts {Limit : 100 , Continue : continueOnRev1 }] = true
262
+ testCases [opts {Continue : continueOnNegativeRV }] = true
263
+ testCases [opts {Limit : 100 , Continue : continueOnNegativeRV }] = true
258
264
testCases [opts {ResourceVersion : "0" }] = false
259
265
testCases [opts {ResourceVersion : "0" , Limit : 100 }] = false
260
266
testCases [opts {ResourceVersion : "0" , Continue : continueOnRev1 }] = true
261
267
testCases [opts {ResourceVersion : "0" , Limit : 100 , Continue : continueOnRev1 }] = true
268
+ testCases [opts {ResourceVersion : "0" , Continue : continueOnNegativeRV }] = true
269
+ testCases [opts {ResourceVersion : "0" , Limit : 100 , Continue : continueOnNegativeRV }] = true
262
270
testCases [opts {ResourceVersion : "0" , ResourceVersionMatch : metav1 .ResourceVersionMatchNotOlderThan }] = false
263
271
testCases [opts {ResourceVersion : "0" , ResourceVersionMatch : metav1 .ResourceVersionMatchNotOlderThan , Limit : 100 }] = false
264
272
testCases [opts {ResourceVersion : "1" }] = false
@@ -276,10 +284,12 @@ func TestGetListCacheBypass(t *testing.T) {
276
284
// Continue is ignored on non recursive LIST
277
285
testCases [opts {ResourceVersion : "1" , Continue : continueOnRev1 }] = true
278
286
testCases [opts {ResourceVersion : "1" , Continue : continueOnRev1 , Limit : 100 }] = true
287
+ testCases [opts {ResourceVersion : "1" , Continue : continueOnNegativeRV }] = true
288
+ testCases [opts {ResourceVersion : "1" , Continue : continueOnNegativeRV , Limit : 100 }] = true
279
289
280
290
for _ , rv := range []string {"" , "0" , "1" } {
281
291
for _ , match := range []metav1.ResourceVersionMatch {"" , metav1 .ResourceVersionMatchExact , metav1 .ResourceVersionMatchNotOlderThan } {
282
- for _ , continueKey := range []string {"" , continueOnRev1 } {
292
+ for _ , continueKey := range []string {"" , continueOnRev1 , continueOnNegativeRV } {
283
293
for _ , limit := range []int64 {0 , 100 } {
284
294
for _ , recursive := range []bool {true , false } {
285
295
opt := opts {
0 commit comments