@@ -290,7 +290,12 @@ fn keep_going_collects_results() {
290
290
}
291
291
292
292
if multi_threaded ( ) {
293
- assert_eq ! ( dir_structure( & destination) . len( ) , 3 ) ;
293
+ let actual = dir_structure ( & destination) ;
294
+ assert ! (
295
+ ( 2 ..=3 ) . contains( & actual. len( ) ) ,
296
+ "it's 3 most of the time, but can be 2 of the 'empty' file is missing as the object couldn't be accessed.\
297
+ It's unclear why there isn't more, as it would keep going"
298
+ ) ;
294
299
} else {
295
300
assert_eq ! (
296
301
stripped_prefix( & destination, & dir_structure( & destination) ) ,
@@ -350,10 +355,9 @@ fn collisions_are_detected_on_a_case_insensitive_filesystem_even_with_delayed_fi
350
355
351
356
let dest_files = dir_structure ( & destination) ;
352
357
if multi_threaded ( ) {
353
- assert_eq ! (
354
- dest_files. len( ) ,
355
- 5 ,
356
- "can only assert on number as it's racily creating files so unclear which one clashes"
358
+ assert ! (
359
+ ( 4 ..=6 ) . contains( & dest_files. len( ) ) ,
360
+ "due to the clash happening at nearly any time, and keep-going is false, we get a variance of files"
357
361
) ;
358
362
} else {
359
363
assert_eq ! (
@@ -370,10 +374,9 @@ fn collisions_are_detected_on_a_case_insensitive_filesystem_even_with_delayed_fi
370
374
let error_kind_dir = error_kind;
371
375
372
376
if multi_threaded ( ) {
373
- assert_eq ! (
374
- outcome. collisions. len( ) ,
375
- 5 ,
376
- "can only assert on number as it's racily creating files so unclear which one clashes"
377
+ assert ! (
378
+ ( 5 ..=6 ) . contains( & outcome. collisions. len( ) ) ,
379
+ "can only assert on number as it's racily creating files so unclear which one clashes, and due to keep-going = false there is variance"
377
380
) ;
378
381
} else {
379
382
assert_eq ! (
0 commit comments