File tree Expand file tree Collapse file tree 2 files changed +11
-3
lines changed Expand file tree Collapse file tree 2 files changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -44,11 +44,15 @@ fn check_all_outcomes<T: Eq + std::hash::Hash + std::fmt::Display>(
44
44
let expected: HashSet < T > = HashSet :: from_iter ( expected) ;
45
45
let mut seen = HashSet :: new ( ) ;
46
46
// Let's give it N times as many tries as we are expecting values.
47
- let tries = expected. len ( ) * 8 ;
48
- for _ in 0 ..tries {
47
+ let tries = expected. len ( ) * 12 ;
48
+ for i in 0 ..tries {
49
49
let val = generate ( ) ;
50
50
assert ! ( expected. contains( & val) , "got an unexpected value: {val}" ) ;
51
51
seen. insert ( val) ;
52
+ if i > tries / 2 && expected. len ( ) == seen. len ( ) {
53
+ // We saw everything and we did quite a few tries, let's avoid wasting time.
54
+ return ;
55
+ }
52
56
}
53
57
// Let's see if we saw them all.
54
58
for val in expected {
Original file line number Diff line number Diff line change @@ -38,10 +38,14 @@ fn check_all_outcomes<T: Eq + std::hash::Hash + fmt::Display>(
38
38
let mut seen = HashSet :: new ( ) ;
39
39
// Let's give it N times as many tries as we are expecting values.
40
40
let tries = expected. len ( ) * 12 ;
41
- for _ in 0 ..tries {
41
+ for i in 0 ..tries {
42
42
let val = generate ( ) ;
43
43
assert ! ( expected. contains( & val) , "got an unexpected value: {val}" ) ;
44
44
seen. insert ( val) ;
45
+ if i > tries / 2 && expected. len ( ) == seen. len ( ) {
46
+ // We saw everything and we did quite a few tries, let's avoid wasting time.
47
+ return ;
48
+ }
45
49
}
46
50
// Let's see if we saw them all.
47
51
for val in expected {
You can’t perform that action at this time.
0 commit comments