Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide mechanism for managing resources across engines and executions #4281

Open
wants to merge 103 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
66891a5
Generate ResourceContext for store resources
YongGoose Dec 22, 2024
7b8182c
Add getStore method in LauncherSession
YongGoose Dec 22, 2024
d475bcf
Add Namespace by reusing Jupiter's Namespace class
YongGoose Jan 6, 2025
f25bec2
Apply comment
YongGoose Jan 18, 2025
7068fff
Adding a request-level store to Launcher
YongGoose Jan 19, 2025
dea6ecc
Apply comment
YongGoose Jan 27, 2025
d940bd4
Generate ResourceContext for store resources
YongGoose Dec 22, 2024
faebb0c
Add Namespace by reusing Jupiter's Namespace class
YongGoose Jan 6, 2025
365228d
Apply comment
YongGoose Jan 18, 2025
6018ff2
Adding a request-level store to Launcher
YongGoose Jan 19, 2025
552cb0b
Apply comment
YongGoose Jan 27, 2025
715a891
Revert "Apply comment"
YongGoose Jan 27, 2025
170c5dc
Apply comment
YongGoose Jan 27, 2025
a286eff
Update junit-platform-engine/src/main/java/org/junit/platform/engine/…
YongGoose Feb 12, 2025
622c366
Update junit-platform-launcher/src/main/java/org/junit/platform/launc…
YongGoose Feb 12, 2025
24b390b
Add API annotation
YongGoose Feb 12, 2025
89a3e4d
Move Namespace class
YongGoose Feb 12, 2025
9f25956
Apply comment
YongGoose Feb 12, 2025
9a1d5be
Apply Namespace parameter
YongGoose Feb 13, 2025
6e46c70
Outline management of session-/request-level stores
marcphilipp Feb 16, 2025
2cf6c7b
Use session-/request-level store in Jupiter engine
marcphilipp Feb 16, 2025
e4baa4b
Use request-level store as parent of engine-level store
marcphilipp Feb 16, 2025
8534a08
fixup! Outline management of session-/request-level stores
marcphilipp Feb 16, 2025
533adef
Fix test
marcphilipp Feb 16, 2025
46c1daf
Fix ExecutionRequest's `NamespacedHierarchicalStore`
YongGoose Feb 18, 2025
10be1e9
Fix post-merge compile error
marcphilipp Feb 24, 2025
f94624a
Limit session-/request-level store availability to execution
marcphilipp Feb 24, 2025
7ed2ab9
Remove broken Javadoc link
marcphilipp Feb 24, 2025
bd574d9
Revert changes
YongGoose Feb 25, 2025
ebe7966
Add JupiterEngineTests
YongGoose Feb 27, 2025
1b23aeb
Add NamespaceTests
YongGoose Mar 3, 2025
3b3d227
polishing
YongGoose Mar 8, 2025
bfca3ab
Merge branch 'main' into feature/2816
YongGoose Mar 9, 2025
6b6ca12
Apply comment
YongGoose Mar 9, 2025
d2f9f98
Add SuiteEngineTest
YongGoose Mar 9, 2025
370bc6d
Add EngineTestKitTest
YongGoose Mar 9, 2025
fff3109
Add LauncherStoreFacadeTest
YongGoose Mar 9, 2025
7b49ff3
Merge branch 'main' into feature/2816
YongGoose Mar 10, 2025
7151fbd
Merge branch 'main' into feature/2816
YongGoose Mar 10, 2025
f80a176
Update junit-jupiter-api/src/main/java/org/junit/jupiter/api/extensio…
YongGoose Mar 10, 2025
65c710b
Update junit-jupiter-api/src/main/java/org/junit/jupiter/api/extensio…
YongGoose Mar 10, 2025
a6dca82
Update junit-jupiter-api/src/main/java/org/junit/jupiter/api/extensio…
YongGoose Mar 10, 2025
7fb5b18
Update junit-jupiter-api/src/main/java/org/junit/jupiter/api/extensio…
YongGoose Mar 10, 2025
bb3a61d
Add Api annotation
YongGoose Mar 10, 2025
78a6023
Introduce create(List) method in Namespace
YongGoose Mar 10, 2025
10c052a
Update junit-platform-engine/src/main/java/org/junit/platform/engine/…
YongGoose Mar 10, 2025
fb4e4d7
Revert changes
YongGoose Mar 10, 2025
f461eb3
Merge branch 'main' into feature/2816
YongGoose Mar 10, 2025
c5c07f4
Resolve conflict
YongGoose Mar 10, 2025
f3d570e
Refactoring test codes
YongGoose Mar 10, 2025
66adb2c
Update jupiter-tests/src/test/java/org/junit/jupiter/engine/descripto…
YongGoose Mar 11, 2025
30505d0
Update jupiter-tests/src/test/java/org/junit/jupiter/engine/descripto…
YongGoose Mar 11, 2025
b40b864
Update jupiter-tests/src/test/java/org/junit/jupiter/engine/descripto…
YongGoose Mar 11, 2025
c3083f4
Update junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/de…
YongGoose Mar 11, 2025
13c03de
Merge branch 'main' into feature/2816
YongGoose Mar 11, 2025
579c492
Merge branch 'main' into feature/2816
YongGoose Mar 13, 2025
3aae750
polishing
YongGoose Mar 16, 2025
59d7d0c
update tests
YongGoose Mar 16, 2025
64186b9
Merge branch 'main' into feature/2816
YongGoose Mar 17, 2025
82a4e97
Merge branch 'main' into feature/2816
YongGoose Mar 17, 2025
b76ee64
polishing
YongGoose Mar 17, 2025
6f4fc2b
Add Jupiter extension test
YongGoose Mar 17, 2025
1683573
Add dummy test engines tests
YongGoose Mar 17, 2025
478ef7d
Merge branch 'main' into feature/2816
YongGoose Mar 18, 2025
0ee7f84
Merge branch 'main' into feature/2816
YongGoose Mar 18, 2025
45a6037
Update platform-tests/src/test/java/org/junit/platform/launcher/core/…
YongGoose Mar 18, 2025
7e65f7f
Merge branch 'main' into feature/2816
YongGoose Mar 18, 2025
5e98c47
Apply comment
YongGoose Mar 18, 2025
bb2f9ed
Merge branch 'main' into feature/2816
YongGoose Mar 19, 2025
dd33bf2
Refactor `ClassExtensionContext`
YongGoose Mar 19, 2025
a2feefc
Refactor `Namespace`
YongGoose Mar 19, 2025
4a650a9
Refactor `ExtensionContextTests`
YongGoose Mar 19, 2025
0d8f63d
Refactor `JupiterTestEngineTests`
YongGoose Mar 19, 2025
e29bb85
Apply comments
YongGoose Mar 19, 2025
8185507
Update junit-platform-launcher/src/testFixtures/java/org/junit/platfo…
YongGoose Mar 22, 2025
6625f24
Update junit-platform-engine/src/main/java/org/junit/platform/engine/…
YongGoose Mar 22, 2025
5ddaa93
Update junit-platform-engine/src/main/java/org/junit/platform/engine/…
YongGoose Mar 22, 2025
b85d29f
Update junit-platform-engine/src/main/java/org/junit/platform/engine/…
YongGoose Mar 22, 2025
a6b9896
Update platform-tests/src/test/java/org/junit/platform/suite/engine/S…
YongGoose Mar 22, 2025
b1b642a
Apply comments
YongGoose Mar 22, 2025
475b354
Merge branch 'main' into feature/2816
YongGoose Mar 22, 2025
85019a3
Apply comments
YongGoose Mar 22, 2025
efaace0
Update `LauncherFactoryTests`
YongGoose Mar 22, 2025
81492f3
Update `JupiterTestEngineTests`
YongGoose Mar 22, 2025
e5a5260
Ensure AutoCloseable resources are automatically closed
YongGoose Mar 22, 2025
b0456ec
polishing
YongGoose Mar 22, 2025
efc2f40
polishing
YongGoose Mar 23, 2025
9517474
Change extension to AfterTestExecutionCallback
YongGoose Mar 23, 2025
c1ce74a
Make `closed` flag of the resource static
YongGoose Mar 24, 2025
17ee313
Merge branch 'main' into feature/2816
YongGoose Mar 24, 2025
406b7e4
Merge branch 'main' into feature/2816
YongGoose Mar 24, 2025
45d4a1d
Update user-guide
YongGoose Mar 24, 2025
4eb741d
Revise User Guide sample
marcphilipp Mar 24, 2025
7c4e5f6
Update platform-tests/src/test/java/org/junit/platform/launcher/core/…
YongGoose Mar 24, 2025
0ac066c
Update platform-tests/src/test/java/org/junit/platform/launcher/core/…
YongGoose Mar 24, 2025
ad6fae0
Update platform-tests/src/test/java/org/junit/platform/launcher/core/…
YongGoose Mar 25, 2025
a367dd9
Update platform-tests/src/test/java/org/junit/platform/launcher/core/…
YongGoose Mar 25, 2025
219a194
Merge branch 'main' into feature/2816
YongGoose Mar 25, 2025
1de6773
Merge branch 'main' into feature/2816
YongGoose Mar 26, 2025
53161c9
Add document and changes in release-notes
YongGoose Mar 27, 2025
2cc5ba1
Merge branch 'main' into feature/2816
YongGoose Mar 28, 2025
677648a
Apply feedback from team call
marcphilipp Mar 28, 2025
9cfcb92
Merge branch 'main' into feature/2816
YongGoose Mar 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add SuiteEngineTest
Issue: #2816
YongGoose committed Mar 9, 2025
commit d2f9f98a4889e8f59cb08626cce69a5025da6c25
Original file line number Diff line number Diff line change
@@ -25,6 +25,8 @@
import static org.junit.platform.testkit.engine.EventConditions.test;
import static org.junit.platform.testkit.engine.TestExecutionResultConditions.instanceOf;
import static org.junit.platform.testkit.engine.TestExecutionResultConditions.message;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;

import java.nio.file.Path;

@@ -33,10 +35,17 @@
import org.junit.jupiter.engine.descriptor.ClassTestDescriptor;
import org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor;
import org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor;
import org.junit.platform.engine.ConfigurationParameters;
import org.junit.platform.engine.EngineExecutionListener;
import org.junit.platform.engine.ExecutionRequest;
import org.junit.platform.engine.FilterResult;
import org.junit.platform.engine.UniqueId;
import org.junit.platform.engine.reporting.OutputDirectoryProvider;
import org.junit.platform.engine.support.descriptor.MethodSource;
import org.junit.platform.engine.support.store.Namespace;
import org.junit.platform.engine.support.store.NamespacedHierarchicalStore;
import org.junit.platform.launcher.PostDiscoveryFilter;
import org.junit.platform.launcher.core.NamespacedHierarchicalStoreProviders;
import org.junit.platform.suite.api.SelectClasses;
import org.junit.platform.suite.api.Suite;
import org.junit.platform.suite.engine.testcases.ConfigurationSensitiveTestCase;
@@ -467,6 +476,25 @@ void passesOutputDirectoryProviderToEnginesInSuite() {
assertThat(outputDir).isDirectoryRecursivelyContaining("glob:**/test.txt");
}

@Test
void suiteEnginePassesRequestLevelStoreToSuiteTestDescriptors() {
UniqueId engineId = UniqueId.forEngine(SuiteEngineDescriptor.ENGINE_ID);
SuiteEngineDescriptor engineDescriptor = new SuiteEngineDescriptor(engineId);

SuiteTestDescriptor mockDescriptor = mock(SuiteTestDescriptor.class);
engineDescriptor.addChild(mockDescriptor);

EngineExecutionListener listener = mock(EngineExecutionListener.class);
NamespacedHierarchicalStore<Namespace> requestLevelStore = NamespacedHierarchicalStoreProviders.dummyNamespacedHierarchicalStore();

ExecutionRequest request = ExecutionRequest.create(engineDescriptor, listener,
mock(ConfigurationParameters.class), mock(OutputDirectoryProvider.class), requestLevelStore);

new SuiteTestEngine().execute(request);

verify(mockDescriptor).execute(listener, requestLevelStore);
}

@Suite
@SelectClasses(SingleTestTestCase.class)
private static class PrivateSuite {