Skip to content

Commit da09ca7

Browse files
committed
Use EngineTestKit.discover in jupiter-tests
1 parent 95193a5 commit da09ca7

9 files changed

+42
-35
lines changed

jupiter-tests/src/test/java/org/junit/jupiter/api/DisplayNameGenerationTests.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import org.junit.jupiter.api.extension.ExtensionContext;
3232
import org.junit.jupiter.engine.AbstractJupiterTestEngineTests;
3333
import org.junit.platform.engine.TestDescriptor;
34+
import org.junit.platform.testkit.engine.Event;
3435

3536
/**
3637
* Check generated display names.
@@ -247,10 +248,12 @@ void indicativeSentencesOnSubClass() {
247248
void indicativeSentencesOnClassTemplate() {
248249
check(ClassTemplateTestCase.class, //
249250
"CONTAINER: Class template", //
251+
"CONTAINER: [1] Class template", //
250252
"TEST: Class template, some test", //
251253
"CONTAINER: Class template, Regular Nested Test Case", //
252254
"TEST: Class template, Regular Nested Test Case, some nested test", //
253255
"CONTAINER: Class template, Nested Class Template", //
256+
"CONTAINER: [1] Class template, Nested Class Template", //
254257
"TEST: Class template, Nested Class Template, some nested test" //
255258
);
256259

@@ -271,7 +274,9 @@ void indicativeSentencesOnClassTemplate() {
271274

272275
private void check(Class<?> testClass, String... expectedDisplayNames) {
273276
var request = request().selectors(selectClass(testClass)).build();
274-
var descriptors = discoverTests(request).getDescendants();
277+
var descriptors = executeTests(request).allEvents().started().stream() //
278+
.map(Event::getTestDescriptor) //
279+
.skip(1); // Skip engine descriptor
275280
assertThat(descriptors).map(this::describe).containsExactlyInAnyOrder(expectedDisplayNames);
276281
}
277282

jupiter-tests/src/test/java/org/junit/jupiter/api/parallel/ResourceLockAnnotationTests.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,8 @@ void addSharedResourcesViaAnnotationValueAndProviders() {
189189

190190
@Test
191191
void addSharedResourcesViaAnnotationValueAndProvidersForClassTemplate() {
192-
var engineDescriptor = discoverTests(
193-
selectClass(SharedResourcesViaAnnotationValueAndProvidersClassTemplateTestCase.class));
192+
var selector = selectClass(SharedResourcesViaAnnotationValueAndProvidersClassTemplateTestCase.class);
193+
var engineDescriptor = discoverTests(selector).getEngineDescriptor();
194194
engineDescriptor.accept(TestDescriptor::prune);
195195

196196
var classTemplateTestDescriptor = (JupiterTestDescriptor) getOnlyElement(engineDescriptor.getChildren());
@@ -214,8 +214,9 @@ void addSharedResourcesViaAnnotationValueAndProvidersForClassTemplate() {
214214

215215
@Test
216216
void addSharedResourcesViaAnnotationValueAndProvidersForClassTemplateInvocation() {
217-
var engineDescriptor = discoverTests(
218-
selectIteration(selectClass(SharedResourcesViaAnnotationValueAndProvidersClassTemplateTestCase.class), 0));
217+
var selector = selectIteration(
218+
selectClass(SharedResourcesViaAnnotationValueAndProvidersClassTemplateTestCase.class), 0);
219+
var engineDescriptor = discoverTests(selector).getEngineDescriptor();
219220
engineDescriptor.accept(TestDescriptor::prune);
220221

221222
var classTemplateTestDescriptor = (JupiterTestDescriptor) getOnlyElement(engineDescriptor.getChildren());
@@ -239,8 +240,8 @@ void addSharedResourcesViaAnnotationValueAndProvidersForClassTemplateInvocation(
239240

240241
@Test
241242
void addSharedResourcesViaAnnotationValueAndProvidersForMethodInClassTemplate() {
242-
var engineDescriptor = discoverTests(
243-
selectMethod(SharedResourcesViaAnnotationValueAndProvidersClassTemplateTestCase.class, "test"));
243+
var selector = selectMethod(SharedResourcesViaAnnotationValueAndProvidersClassTemplateTestCase.class, "test");
244+
var engineDescriptor = discoverTests(selector).getEngineDescriptor();
244245
engineDescriptor.accept(TestDescriptor::prune);
245246

246247
var classTemplateTestDescriptor = (JupiterTestDescriptor) getOnlyElement(engineDescriptor.getChildren());

jupiter-tests/src/test/java/org/junit/jupiter/engine/AbstractJupiterTestEngineTests.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,13 @@
1717
import static org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder.request;
1818
import static org.junit.platform.launcher.core.OutputDirectoryProviders.dummyOutputDirectoryProvider;
1919

20-
import java.util.Set;
2120
import java.util.function.Consumer;
2221

2322
import org.junit.platform.engine.DiscoverySelector;
24-
import org.junit.platform.engine.TestDescriptor;
2523
import org.junit.platform.engine.UniqueId;
2624
import org.junit.platform.launcher.LauncherDiscoveryRequest;
2725
import org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder;
26+
import org.junit.platform.testkit.engine.EngineDiscoveryResults;
2827
import org.junit.platform.testkit.engine.EngineExecutionResults;
2928
import org.junit.platform.testkit.engine.EngineTestKit;
3029

@@ -59,11 +58,11 @@ protected EngineExecutionResults executeTests(LauncherDiscoveryRequest request)
5958
return EngineTestKit.execute(this.engine, request);
6059
}
6160

62-
protected TestDescriptor discoverTestsForClass(Class<?> testClass) {
61+
protected EngineDiscoveryResults discoverTestsForClass(Class<?> testClass) {
6362
return discoverTests(selectClass(testClass));
6463
}
6564

66-
protected TestDescriptor discoverTests(DiscoverySelector... selectors) {
65+
protected EngineDiscoveryResults discoverTests(DiscoverySelector... selectors) {
6766
return discoverTests(defaultRequest().selectors(selectors).build());
6867
}
6968

@@ -73,15 +72,16 @@ private static LauncherDiscoveryRequestBuilder defaultRequest() {
7372
.configurationParameter(STACKTRACE_PRUNING_ENABLED_PROPERTY_NAME, String.valueOf(false));
7473
}
7574

76-
protected TestDescriptor discoverTests(LauncherDiscoveryRequest request) {
77-
return engine.discover(request, UniqueId.forEngine(engine.getId()));
75+
protected EngineDiscoveryResults discoverTests(LauncherDiscoveryRequest request) {
76+
return EngineTestKit.discover(this.engine, request);
7877
}
7978

8079
protected UniqueId discoverUniqueId(Class<?> clazz, String methodName) {
81-
TestDescriptor engineDescriptor = discoverTests(selectMethod(clazz, methodName));
82-
Set<? extends TestDescriptor> descendants = engineDescriptor.getDescendants();
80+
var results = discoverTests(selectMethod(clazz, methodName));
81+
var engineDescriptor = results.getEngineDescriptor();
82+
var descendants = engineDescriptor.getDescendants();
8383
// @formatter:off
84-
TestDescriptor testDescriptor = descendants.stream()
84+
var testDescriptor = descendants.stream()
8585
.skip(descendants.size() - 1)
8686
.findFirst()
8787
.orElseGet(() -> fail("no descendants"));

jupiter-tests/src/test/java/org/junit/jupiter/engine/ClassTemplateInvocationTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -979,7 +979,8 @@ void templateWithPreparations() {
979979

980980
@Test
981981
void propagatesTagsFromEnclosingClassesToNestedClassTemplates() {
982-
var engineDescriptor = discoverTestsForClass(NestedClassTemplateWithTagOnEnclosingClassTestCase.class);
982+
var engineDescriptor = discoverTestsForClass(
983+
NestedClassTemplateWithTagOnEnclosingClassTestCase.class).getEngineDescriptor();
983984
var classDescriptor = getOnlyElement(engineDescriptor.getChildren());
984985
var nestedClassTemplateDescriptor = getOnlyElement(classDescriptor.getChildren());
985986

jupiter-tests/src/test/java/org/junit/jupiter/engine/DefaultExecutionModeTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ private JupiterEngineDescriptor discoverTestsWithDefaultExecutionMode(Class<?> t
109109
if (executionMode != null) {
110110
request.configurationParameter(Constants.DEFAULT_PARALLEL_EXECUTION_MODE, executionMode.name());
111111
}
112-
return (JupiterEngineDescriptor) discoverTests(request.build());
112+
return (JupiterEngineDescriptor) discoverTests(request.build()).getEngineDescriptor();
113113
}
114114

115115
private static void assertExecutionMode(TestDescriptor testDescriptor, ExecutionMode expectedExecutionMode) {

jupiter-tests/src/test/java/org/junit/jupiter/engine/DynamicNodeGenerationTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,15 +67,15 @@ class DynamicNodeGenerationTests extends AbstractJupiterTestEngineTests {
6767
@Test
6868
void testFactoryMethodsAreCorrectlyDiscoveredForClassSelector() {
6969
LauncherDiscoveryRequest request = request().selectors(selectClass(MyDynamicTestCase.class)).build();
70-
TestDescriptor engineDescriptor = discoverTests(request);
70+
TestDescriptor engineDescriptor = discoverTests(request).getEngineDescriptor();
7171
assertThat(engineDescriptor.getDescendants()).as("# resolved test descriptors").hasSize(13);
7272
}
7373

7474
@Test
7575
void testFactoryMethodIsCorrectlyDiscoveredForMethodSelector() {
7676
LauncherDiscoveryRequest request = request().selectors(
7777
selectMethod(MyDynamicTestCase.class, "dynamicStream")).build();
78-
TestDescriptor engineDescriptor = discoverTests(request);
78+
TestDescriptor engineDescriptor = discoverTests(request).getEngineDescriptor();
7979
assertThat(engineDescriptor.getDescendants()).as("# resolved test descriptors").hasSize(2);
8080
}
8181

jupiter-tests/src/test/java/org/junit/jupiter/engine/NestedTestClassesTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class NestedTestClassesTests extends AbstractJupiterTestEngineTests {
4343
@Test
4444
void nestedTestsAreCorrectlyDiscovered() {
4545
LauncherDiscoveryRequest request = request().selectors(selectClass(TestCaseWithNesting.class)).build();
46-
TestDescriptor engineDescriptor = discoverTests(request);
46+
TestDescriptor engineDescriptor = discoverTests(request).getEngineDescriptor();
4747
assertEquals(5, engineDescriptor.getDescendants().size(), "# resolved test descriptors");
4848
}
4949

@@ -64,7 +64,7 @@ void nestedTestsAreExecuted() {
6464
@Test
6565
void doublyNestedTestsAreCorrectlyDiscovered() {
6666
LauncherDiscoveryRequest request = request().selectors(selectClass(TestCaseWithDoubleNesting.class)).build();
67-
TestDescriptor engineDescriptor = discoverTests(request);
67+
TestDescriptor engineDescriptor = discoverTests(request).getEngineDescriptor();
6868
assertEquals(8, engineDescriptor.getDescendants().size(), "# resolved test descriptors");
6969
}
7070

jupiter-tests/src/test/java/org/junit/jupiter/engine/StandardTestClassTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ class StandardTestClassTests extends AbstractJupiterTestEngineTests {
3737
@Test
3838
void standardTestClassIsCorrectlyDiscovered() {
3939
LauncherDiscoveryRequest request = request().selectors(selectClass(MyStandardTestCase.class)).build();
40-
TestDescriptor engineDescriptor = discoverTests(request);
40+
TestDescriptor engineDescriptor = discoverTests(request).getEngineDescriptor();
4141
assertEquals(1 /*class*/ + 6 /*methods*/, engineDescriptor.getDescendants().size(),
4242
"# resolved test descriptors");
4343
}
4444

4545
@Test
4646
void moreThanOneTestClassIsCorrectlyDiscovered() {
4747
LauncherDiscoveryRequest request = request().selectors(selectClass(SecondOfTwoTestCases.class)).build();
48-
TestDescriptor engineDescriptor = discoverTests(request);
48+
TestDescriptor engineDescriptor = discoverTests(request).getEngineDescriptor();
4949
assertEquals(1 /*class*/ + 3 /*methods*/, engineDescriptor.getDescendants().size(),
5050
"# resolved test descriptors");
5151
}

jupiter-tests/src/test/java/org/junit/jupiter/engine/discovery/DiscoveryTests.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,38 +47,38 @@ class DiscoveryTests extends AbstractJupiterTestEngineTests {
4747
@Test
4848
void discoverTestClass() {
4949
LauncherDiscoveryRequest request = request().selectors(selectClass(LocalTestCase.class)).build();
50-
TestDescriptor engineDescriptor = discoverTests(request);
50+
TestDescriptor engineDescriptor = discoverTests(request).getEngineDescriptor();
5151
assertEquals(7, engineDescriptor.getDescendants().size(), "# resolved test descriptors");
5252
}
5353

5454
@Test
5555
void doNotDiscoverAbstractTestClass() {
5656
LauncherDiscoveryRequest request = request().selectors(selectClass(AbstractTestCase.class)).build();
57-
TestDescriptor engineDescriptor = discoverTests(request);
57+
TestDescriptor engineDescriptor = discoverTests(request).getEngineDescriptor();
5858
assertEquals(0, engineDescriptor.getDescendants().size(), "# resolved test descriptors");
5959
}
6060

6161
@Test
6262
void discoverMethodByUniqueId() {
6363
LauncherDiscoveryRequest request = request().selectors(
6464
selectUniqueId(JupiterUniqueIdBuilder.uniqueIdForMethod(LocalTestCase.class, "test1()"))).build();
65-
TestDescriptor engineDescriptor = discoverTests(request);
65+
TestDescriptor engineDescriptor = discoverTests(request).getEngineDescriptor();
6666
assertEquals(2, engineDescriptor.getDescendants().size(), "# resolved test descriptors");
6767
}
6868

6969
@Test
7070
void discoverMethodByUniqueIdForOverloadedMethod() {
7171
LauncherDiscoveryRequest request = request().selectors(
7272
selectUniqueId(JupiterUniqueIdBuilder.uniqueIdForMethod(LocalTestCase.class, "test4()"))).build();
73-
TestDescriptor engineDescriptor = discoverTests(request);
73+
TestDescriptor engineDescriptor = discoverTests(request).getEngineDescriptor();
7474
assertEquals(2, engineDescriptor.getDescendants().size(), "# resolved test descriptors");
7575
}
7676

7777
@Test
7878
void discoverMethodByUniqueIdForOverloadedMethodVariantThatAcceptsArguments() {
7979
LauncherDiscoveryRequest request = request().selectors(selectUniqueId(JupiterUniqueIdBuilder.uniqueIdForMethod(
8080
LocalTestCase.class, "test4(" + TestInfo.class.getName() + ")"))).build();
81-
TestDescriptor engineDescriptor = discoverTests(request);
81+
TestDescriptor engineDescriptor = discoverTests(request).getEngineDescriptor();
8282
assertEquals(2, engineDescriptor.getDescendants().size(), "# resolved test descriptors");
8383
}
8484

@@ -87,7 +87,7 @@ void discoverMethodByMethodReference() throws NoSuchMethodException {
8787
Method testMethod = LocalTestCase.class.getDeclaredMethod("test3");
8888

8989
LauncherDiscoveryRequest request = request().selectors(selectMethod(LocalTestCase.class, testMethod)).build();
90-
TestDescriptor engineDescriptor = discoverTests(request);
90+
TestDescriptor engineDescriptor = discoverTests(request).getEngineDescriptor();
9191
assertEquals(2, engineDescriptor.getDescendants().size(), "# resolved test descriptors");
9292
}
9393

@@ -96,7 +96,7 @@ void discoverMultipleMethodsOfSameClass() {
9696
LauncherDiscoveryRequest request = request().selectors(selectMethod(LocalTestCase.class, "test1"),
9797
selectMethod(LocalTestCase.class, "test2")).build();
9898

99-
TestDescriptor engineDescriptor = discoverTests(request);
99+
TestDescriptor engineDescriptor = discoverTests(request).getEngineDescriptor();
100100

101101
assertThat(engineDescriptor.getChildren()).hasSize(1);
102102
TestDescriptor classDescriptor = getOnlyElement(engineDescriptor.getChildren());
@@ -109,7 +109,7 @@ void discoverCompositeSpec() {
109109
selectUniqueId(JupiterUniqueIdBuilder.uniqueIdForMethod(LocalTestCase.class, "test2()")),
110110
selectClass(LocalTestCase.class)).build();
111111

112-
TestDescriptor engineDescriptor = discoverTests(spec);
112+
TestDescriptor engineDescriptor = discoverTests(spec).getEngineDescriptor();
113113
assertEquals(7, engineDescriptor.getDescendants().size(), "# resolved test descriptors");
114114
}
115115

@@ -118,7 +118,7 @@ void discoverTestTemplateMethodByUniqueId() {
118118
LauncherDiscoveryRequest spec = request().selectors(
119119
selectUniqueId(uniqueIdForTestTemplateMethod(TestTemplateClass.class, "testTemplate()"))).build();
120120

121-
TestDescriptor engineDescriptor = discoverTests(spec);
121+
TestDescriptor engineDescriptor = discoverTests(spec).getEngineDescriptor();
122122
assertEquals(2, engineDescriptor.getDescendants().size(), "# resolved test descriptors");
123123
}
124124

@@ -127,7 +127,7 @@ void discoverTestTemplateMethodByMethodSelector() {
127127
LauncherDiscoveryRequest spec = request().selectors(
128128
selectMethod(TestTemplateClass.class, "testTemplate")).build();
129129

130-
TestDescriptor engineDescriptor = discoverTests(spec);
130+
TestDescriptor engineDescriptor = discoverTests(spec).getEngineDescriptor();
131131
assertEquals(2, engineDescriptor.getDescendants().size(), "# resolved test descriptors");
132132
}
133133

@@ -139,7 +139,7 @@ void discoverDeeplyNestedTestMethodByNestedMethodSelector() throws Exception {
139139
AbstractSuperClass.NestedInAbstractClass.class.getDeclaredMethod("test"));
140140
LauncherDiscoveryRequest spec = request().selectors(selector).build();
141141

142-
TestDescriptor engineDescriptor = discoverTests(spec);
142+
TestDescriptor engineDescriptor = discoverTests(spec).getEngineDescriptor();
143143

144144
ClassTestDescriptor topLevelClassDescriptor = (ClassTestDescriptor) getOnlyElement(
145145
engineDescriptor.getChildren());

0 commit comments

Comments
 (0)