Skip to content

Commit 62b7b55

Browse files
authored
Avoid using test groups for test ordering (#649)
Test groups are global, not just for single test. This means that multiple test classes may be "in progress" at the same time, which leads to issues in at least one implementation which has global state. Instead of test groups and `dependsOnGroups`, this commit uses simple `dependsOnMethods`, which is local to the test class.
1 parent 9d5b14a commit 62b7b55

File tree

5 files changed

+26
-22
lines changed

5 files changed

+26
-22
lines changed

Diff for: tck/src/main/java/org/eclipse/microprofile/fault/tolerance/tck/telemetryMetrics/BulkheadTelemetryTest.java

+6-5
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ private CompletableFuture<Void> newWaitingFuture() {
112112
return result;
113113
}
114114

115-
@Test(groups = "main")
115+
@Test
116116
public void bulkheadMetricTest() throws InterruptedException, ExecutionException, TimeoutException {
117117
TelemetryMetricGetter m = new TelemetryMetricGetter(BulkheadMetricBean.class, "waitFor");
118118
m.baselineMetrics();
@@ -145,7 +145,7 @@ public void bulkheadMetricTest() throws InterruptedException, ExecutionException
145145
is(0L));
146146
}
147147

148-
@Test(groups = "main")
148+
@Test
149149
public void bulkheadMetricRejectionTest() throws InterruptedException, ExecutionException, TimeoutException {
150150
TelemetryMetricGetter m = new TelemetryMetricGetter(BulkheadMetricBean.class, "waitFor");
151151
m.baselineMetrics();
@@ -178,7 +178,7 @@ public void bulkheadMetricRejectionTest() throws InterruptedException, Execution
178178

179179
}
180180

181-
@Test(groups = "main")
181+
@Test
182182
public void bulkheadMetricHistogramTest() throws InterruptedException, ExecutionException, TimeoutException {
183183
TelemetryMetricGetter m = new TelemetryMetricGetter(BulkheadMetricBean.class, "waitForHistogram");
184184
m.baselineMetrics();
@@ -217,7 +217,7 @@ public void bulkheadMetricHistogramTest() throws InterruptedException, Execution
217217
m.getBulkheadRunningDuration().assertBoundaries();
218218
}
219219

220-
@Test(groups = "main")
220+
@Test
221221
public void bulkheadMetricAsyncTest() throws InterruptedException, ExecutionException, TimeoutException {
222222
TelemetryMetricGetter m = new TelemetryMetricGetter(BulkheadMetricBean.class, "waitForAsync");
223223
m.baselineMetrics();
@@ -265,7 +265,8 @@ public void bulkheadMetricAsyncTest() throws InterruptedException, ExecutionExce
265265
is(1L));
266266
}
267267

268-
@Test(dependsOnGroups = "main")
268+
@Test(dependsOnMethods = {"bulkheadMetricTest", "bulkheadMetricRejectionTest", "bulkheadMetricHistogramTest",
269+
"bulkheadMetricAsyncTest"})
269270
public void testMetricUnits() throws InterruptedException, ExecutionException {
270271
InMemoryMetricReader reader = InMemoryMetricReader.current();
271272

Diff for: tck/src/main/java/org/eclipse/microprofile/fault/tolerance/tck/telemetryMetrics/CircuitBreakerTelemetryTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ public void closeTheCircuit() throws Exception {
117117
}
118118
}
119119

120-
@Test(groups = "main")
120+
@Test
121121
public void testCircuitBreakerMetric() throws Exception {
122122
TelemetryMetricGetter m = new TelemetryMetricGetter(CircuitBreakerMetricBean.class, "doWork");
123123

@@ -181,7 +181,7 @@ public void testCircuitBreakerMetric() throws Exception {
181181
is(5L));
182182
}
183183

184-
@Test(dependsOnGroups = "main")
184+
@Test(dependsOnMethods = "testCircuitBreakerMetric")
185185
public void testMetricUnits() throws InterruptedException, ExecutionException {
186186
InMemoryMetricReader reader = InMemoryMetricReader.current();
187187

Diff for: tck/src/main/java/org/eclipse/microprofile/fault/tolerance/tck/telemetryMetrics/FallbackTelemetryTest.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public static WebArchive deploy() {
7171
@Inject
7272
private FallbackMetricBean fallbackBean;
7373

74-
@Test(groups = "main")
74+
@Test
7575
public void fallbackMetricMethodTest() {
7676
TelemetryMetricGetter m = new TelemetryMetricGetter(FallbackMetricBean.class, "doWork");
7777
m.baselineMetrics();
@@ -124,7 +124,7 @@ public void fallbackMetricMethodTest() {
124124
is(1L));
125125
}
126126

127-
@Test(groups = "main")
127+
@Test
128128
public void fallbackMetricHandlerTest() {
129129
TelemetryMetricGetter m = new TelemetryMetricGetter(FallbackMetricBean.class, "doWorkWithHandler");
130130
m.baselineMetrics();
@@ -177,7 +177,7 @@ public void fallbackMetricHandlerTest() {
177177
is(1L));
178178
}
179179

180-
@Test(dependsOnGroups = "main")
180+
@Test(dependsOnMethods = {"fallbackMetricMethodTest", "fallbackMetricHandlerTest"})
181181
public void testMetricUnits() throws InterruptedException, ExecutionException {
182182
InMemoryMetricReader reader = InMemoryMetricReader.current();
183183

Diff for: tck/src/main/java/org/eclipse/microprofile/fault/tolerance/tck/telemetryMetrics/RetryTelemetryTest.java

+12-9
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public static WebArchive deploy() {
8787
@Inject
8888
private RetryMetricBean retryBean;
8989

90-
@Test(groups = "main")
90+
@Test
9191
public void testRetryMetricSuccessfulImmediately() {
9292
TelemetryMetricGetter m = new TelemetryMetricGetter(RetryMetricBean.class, "failSeveralTimes");
9393
m.baselineMetrics();
@@ -103,7 +103,7 @@ public void testRetryMetricSuccessfulImmediately() {
103103
m.getInvocations(EXCEPTION_THROWN, InvocationFallback.NOT_DEFINED).delta(), is(0L));
104104
}
105105

106-
@Test(groups = "main")
106+
@Test
107107
public void testRetryMetricSuccessfulAfterRetry() {
108108
TelemetryMetricGetter m = new TelemetryMetricGetter(RetryMetricBean.class, "failSeveralTimes");
109109
m.baselineMetrics();
@@ -119,7 +119,7 @@ public void testRetryMetricSuccessfulAfterRetry() {
119119
m.getInvocations(EXCEPTION_THROWN, InvocationFallback.NOT_DEFINED).delta(), is(0L));
120120
}
121121

122-
@Test(groups = "main")
122+
@Test
123123
public void testRetryMetricNonRetryableImmediately() {
124124
TelemetryMetricGetter m = new TelemetryMetricGetter(RetryMetricBean.class, "failSeveralTimesThenNonRetryable");
125125
m.baselineMetrics();
@@ -137,7 +137,7 @@ public void testRetryMetricNonRetryableImmediately() {
137137
m.getInvocations(EXCEPTION_THROWN, InvocationFallback.NOT_DEFINED).delta(), is(1L));
138138
}
139139

140-
@Test(groups = "main")
140+
@Test
141141
public void testRetryMetricNonRetryableAfterRetries() {
142142
TelemetryMetricGetter m = new TelemetryMetricGetter(RetryMetricBean.class, "failSeveralTimesThenNonRetryable");
143143
m.baselineMetrics();
@@ -155,7 +155,7 @@ public void testRetryMetricNonRetryableAfterRetries() {
155155
m.getInvocations(EXCEPTION_THROWN, InvocationFallback.NOT_DEFINED).delta(), is(1L));
156156
}
157157

158-
@Test(groups = "main")
158+
@Test
159159
public void testRetryMetricMaxRetries() {
160160
TelemetryMetricGetter m = new TelemetryMetricGetter(RetryMetricBean.class, "failSeveralTimes");
161161
m.baselineMetrics();
@@ -172,7 +172,7 @@ public void testRetryMetricMaxRetries() {
172172
m.getInvocations(EXCEPTION_THROWN, InvocationFallback.NOT_DEFINED).delta(), is(2L));
173173
}
174174

175-
@Test(groups = "main")
175+
@Test
176176
public void testRetryMetricMaxRetriesHitButNoRetry() {
177177
// This is an edge case which can only occur when maxRetries = 0
178178
TelemetryMetricGetter m = new TelemetryMetricGetter(RetryMetricBean.class, "maxRetriesZero");
@@ -189,7 +189,7 @@ public void testRetryMetricMaxRetriesHitButNoRetry() {
189189
m.getInvocations(EXCEPTION_THROWN, InvocationFallback.NOT_DEFINED).delta(), is(1L));
190190
}
191191

192-
@Test(groups = "main")
192+
@Test
193193
public void testRetryMetricMaxDuration() {
194194
TelemetryMetricGetter m = new TelemetryMetricGetter(RetryMetricBean.class, "failAfterDelay");
195195
m.baselineMetrics();
@@ -206,7 +206,7 @@ public void testRetryMetricMaxDuration() {
206206
m.getInvocations(EXCEPTION_THROWN, InvocationFallback.NOT_DEFINED).delta(), is(1L));
207207
}
208208

209-
@Test(groups = "main")
209+
@Test
210210
public void testRetryMetricMaxDurationNoRetries() {
211211
TelemetryMetricGetter m = new TelemetryMetricGetter(RetryMetricBean.class, "failAfterDelay");
212212
m.baselineMetrics();
@@ -224,7 +224,10 @@ public void testRetryMetricMaxDurationNoRetries() {
224224
m.getInvocations(EXCEPTION_THROWN, InvocationFallback.NOT_DEFINED).delta(), is(1L));
225225
}
226226

227-
@Test(dependsOnGroups = "main")
227+
@Test(dependsOnMethods = {"testRetryMetricSuccessfulImmediately", "testRetryMetricSuccessfulAfterRetry",
228+
"testRetryMetricNonRetryableImmediately", "testRetryMetricNonRetryableAfterRetries",
229+
"testRetryMetricMaxRetries", "testRetryMetricMaxRetriesHitButNoRetry", "testRetryMetricMaxDuration",
230+
"testRetryMetricMaxDurationNoRetries"})
228231
public void testMetricUnits() throws InterruptedException, ExecutionException {
229232
InMemoryMetricReader reader = InMemoryMetricReader.current();
230233

Diff for: tck/src/main/java/org/eclipse/microprofile/fault/tolerance/tck/telemetryMetrics/TimeoutTelemetryTest.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public static WebArchive deploy() {
8484
@Inject
8585
private TimeoutMetricBean timeoutBean;
8686

87-
@Test(groups = "main")
87+
@Test
8888
public void testTimeoutMetric() {
8989
TelemetryMetricGetter m = new TelemetryMetricGetter(TimeoutMetricBean.class, "counterTestWorkForMillis");
9090
m.baselineMetrics();
@@ -104,7 +104,7 @@ public void testTimeoutMetric() {
104104
is(2L));
105105
}
106106

107-
@Test(groups = "main")
107+
@Test
108108
public void testTimeoutHistogram() {
109109
TelemetryMetricGetter m = new TelemetryMetricGetter(TimeoutMetricBean.class, "histogramTestWorkForMillis");
110110

@@ -117,7 +117,7 @@ public void testTimeoutHistogram() {
117117
m.getTimeoutExecutionDuration().assertBoundaries();
118118
}
119119

120-
@Test(dependsOnGroups = "main")
120+
@Test(dependsOnMethods = {"testTimeoutMetric", "testTimeoutHistogram"})
121121
public void testMetricUnits() throws InterruptedException, ExecutionException {
122122
InMemoryMetricReader reader = InMemoryMetricReader.current();
123123

0 commit comments

Comments
 (0)