Skip to content

Commit 8b44ff2

Browse files
authored
Fix RouteFailureTest and use RepeatedTest (#9247)
Updated tests to use @RepeatedTest annotation for consistency and performance. Also fixes a cause of flakiness
1 parent 010c4f3 commit 8b44ff2

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

okhttp/src/jvmTest/kotlin/okhttp3/RouteFailureTest.kt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import okhttp3.internal.http.RecordingProxySelector
3333
import okhttp3.internal.http2.ErrorCode
3434
import okhttp3.testing.PlatformRule
3535
import org.junit.jupiter.api.BeforeEach
36+
import org.junit.jupiter.api.RepeatedTest
3637
import org.junit.jupiter.api.Test
3738
import org.junit.jupiter.api.extension.RegisterExtension
3839

@@ -82,7 +83,7 @@ class RouteFailureTest {
8283
.build()
8384
}
8485

85-
@Test
86+
@RepeatedTest(100)
8687
fun http2OneBadHostOneGoodNoRetryOnConnectionFailure() {
8788
enableProtocol(Protocol.HTTP_2)
8889

@@ -107,6 +108,7 @@ class RouteFailureTest {
107108
.assertFailureMatches("stream was reset: REFUSED_STREAM")
108109

109110
assertThat(client.routeDatabase.failedRoutes).isEmpty()
111+
server1.takeRequest()
110112
assertThat(server1.requestCount).isEqualTo(1)
111113
assertThat(server2.requestCount).isEqualTo(0)
112114

@@ -162,7 +164,7 @@ class RouteFailureTest {
162164
)
163165
}
164166

165-
@Test
167+
@RepeatedTest(100)
166168
fun http2OneBadHostOneGoodNoRetryOnConnectionFailureFastFallback() {
167169
enableProtocol(Protocol.HTTP_2)
168170

@@ -187,6 +189,7 @@ class RouteFailureTest {
187189
.assertFailureMatches("stream was reset: REFUSED_STREAM")
188190

189191
assertThat(client.routeDatabase.failedRoutes).isEmpty()
192+
server1.takeRequest()
190193
assertThat(server1.requestCount).isEqualTo(1)
191194
assertThat(server2.requestCount).isEqualTo(0)
192195

@@ -242,7 +245,7 @@ class RouteFailureTest {
242245
)
243246
}
244247

245-
@Test
248+
@RepeatedTest(100)
246249
fun http2OneBadHostRetryOnConnectionFailure() {
247250
enableProtocol(Protocol.HTTP_2)
248251

@@ -266,6 +269,7 @@ class RouteFailureTest {
266269
.assertFailureMatches("stream was reset: REFUSED_STREAM")
267270

268271
assertThat(client.routeDatabase.failedRoutes).isEmpty()
272+
server1.takeRequest()
269273
assertThat(server1.requestCount).isEqualTo(1)
270274

271275
assertThat(clientTestRule.recordedConnectionEventTypes()).containsExactly(
@@ -276,7 +280,7 @@ class RouteFailureTest {
276280
)
277281
}
278282

279-
@Test
283+
@RepeatedTest(100)
280284
fun http2OneBadHostRetryOnConnectionFailureFastFallback() {
281285
enableProtocol(Protocol.HTTP_2)
282286

@@ -300,6 +304,7 @@ class RouteFailureTest {
300304
.assertFailureMatches("stream was reset: REFUSED_STREAM")
301305

302306
assertThat(client.routeDatabase.failedRoutes).isEmpty()
307+
server1.takeRequest()
303308
assertThat(server1.requestCount).isEqualTo(1)
304309

305310
assertThat(clientTestRule.recordedConnectionEventTypes()).containsExactly(

0 commit comments

Comments
 (0)