@@ -78,15 +78,15 @@ private enum IterationExecutionType {
7878 SYNC_SAME_THREAD ,
7979 SYNC_DIFFERENT_THREAD ,
8080 ASYNC ,
81- MIXED_SYNC_SAME_AND_ASYNC
81+ MIXED_SYNC_SAME_THREAD_AND_ASYNC
8282 }
8383
8484 @ ParameterizedTest ()
8585 @ CsvSource ({
8686 "1_000_000, 0, SYNC_SAME_THREAD, 0, false" ,
8787// "1_000_000, 0, SYNC_DIFFERENT_THREAD, 0, false",
8888 "1_000_000, 0, ASYNC, 0, false" ,
89- "1_000_000, 0, MIXED_SYNC_SAME_AND_ASYNC , 0, false" ,
89+ "1_000_000, 0, MIXED_SYNC_SAME_THREAD_AND_ASYNC , 0, false" ,
9090 "4, 0, ASYNC, 4, true" ,
9191 "4, 4, ASYNC, 0, true" ,
9292 })
@@ -105,10 +105,10 @@ void testThenRunDoWhileLoop(
105105 CompletableFuture <Void > join = new CompletableFuture <>();
106106 asyncLoop (new Counter (counterInitialValue , verbose ),
107107 blockSyncPartOfIterationTotalDuration , executionType , delayAsyncExecutionTotalDuration , verbose ,
108- (r , t ) -> {
109- System .err .printf ("test callback completed callStackDepth=%s, r=%s, t=%s%n" ,
110- Thread .currentThread ().getStackTrace ().length , r , exceptionToString (t ));
111- complete (join , r , t );
108+ (r , t ) -> {
109+ System .err .printf ("test callback completed callStackDepth=%s, r=%s, t=%s%n" ,
110+ Thread .currentThread ().getStackTrace ().length , r , exceptionToString (t ));
111+ complete (join , r , t );
112112 });
113113 System .err .printf ("\t asyncLoop method completed in %s%n" , start .elapsed ());
114114 join .get ();
@@ -162,7 +162,7 @@ private static void asyncPartOfIteration(
162162 delayAsyncExecutionTotalDuration .dividedBy (counter .initial ()).toNanos (), TimeUnit .NANOSECONDS );
163163 break ;
164164 }
165- case MIXED_SYNC_SAME_AND_ASYNC : {
165+ case MIXED_SYNC_SAME_THREAD_AND_ASYNC : {
166166 if (ThreadLocalRandom .current ().nextBoolean ()) {
167167 asyncPartOfIteration .run ();
168168 } else {
@@ -180,11 +180,13 @@ private static void asyncPartOfIteration(
180180 private static final class Counter {
181181 private final int initial ;
182182 private int current ;
183+ private boolean doneReturnedTrue ;
183184 private final boolean verbose ;
184185
185186 Counter (final int initial , final boolean verbose ) {
186187 this .initial = initial ;
187188 this .current = initial ;
189+ this .doneReturnedTrue = false ;
188190 this .verbose = verbose ;
189191 }
190192
@@ -197,14 +199,16 @@ void countDown() {
197199 int previous = current ;
198200 int decremented = --current ;
199201 if (verbose || decremented % 100_000 == 0 ) {
200- System .err .printf ("counted %d->%d callStackDepth=%d %n" ,
201- previous , decremented , Thread .currentThread ().getStackTrace ().length );
202+ System .err .printf ("counted %d->%d tid=%d callStackDepth=%d %n" ,
203+ previous , decremented , Thread .currentThread ().getId (), Thread . currentThread (). getStackTrace ().length );
202204 }
203205 }
204206
205207 boolean done () {
206208 if (current == 0 ) {
209+ com .mongodb .assertions .Assertions .assertFalse (doneReturnedTrue );
207210 System .err .printf ("counting done callStackDepth=%d %n" , Thread .currentThread ().getStackTrace ().length );
211+ doneReturnedTrue = true ;
208212 return true ;
209213 }
210214 return false ;
0 commit comments