-
Notifications
You must be signed in to change notification settings - Fork 112
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 a session test framework for JUnit 5 #1086
Provide a session test framework for JUnit 5 #1086
Conversation
Test Results 1 722 files 1 722 suites 1h 25m 39s ⏱️ Results for commit ff6f7f4. ♻️ This comment has been updated with latest results. |
7944711
to
0a04276
Compare
0a04276
to
6bf2a85
Compare
8ec3d62
to
bdcdcbd
Compare
bdcdcbd
to
f559a77
Compare
f559a77
to
a241a50
Compare
a241a50
to
7657ba3
Compare
7657ba3
to
39241ad
Compare
The migration of session tests to JUnit 5 requires several dependencies to be added to |
d75f53b
to
0004a63
Compare
...clipse.core.tests.harness/src/org/eclipse/core/tests/harness/session/RemoteTestExecutor.java
Show resolved
Hide resolved
PR is not ready to be merged because of faulty JUnit test result aggregation. GitHub reports 102 removed tests, which is because (existing, JUnit-3-based) session tests are not processed correctly when executed with a JUnit 5 runner. The test methods are not assigned to the their test class but to the running test suite, and since many session test methods are simply named
This subsumes multiple executions of a |
The existing implementation of session tests (including SessionTestRunner, SessionTestSuite and WorkspaceSessionTestSuite) relies on JUnit 3 functionality. Because of the changed way in which tests are set up in JUnit 5, they cannot be used to run session tests with JUnit 5. In addition the session test framework is currently overly complex, as it provides some functionality that is not used (anymore). This commit introduces a new JUnit 5 extension, the SessionTestExtension, to be used for running test cases of a class in separate Eclipse application sessions with JUnit 5. This extension intercepts test methods calls to start a separate Eclipse session in which the tests are executed. The results are evaluated in the intercepted method execution in way they were evaluated for existing JUnit-3-based session tests. Session that are expected to fail can be annotated with an added @SessionShouldFail annotation. Functionality is demonstrated in a manually executed sample session test.
0004a63
to
ff6f7f4
Compare
|
The existing implementation of session tests (including SessionTestRunner, SessionTestSuite and WorkspaceSessionTestSuite) relies on JUnit 3 functionality. Because of the changed way in which tests are set up in JUnit 5, they cannot be used to run session tests with JUnit 5. In addition the session test framework is currently overly complex, as it provides some functionality that is not used (anymore).
This commit introduces a new JUnit 5 extension, the SessionTestExtension, to be used for running test cases of a class in
separate Eclipse application sessions with JUnit 5. This extension intercepts test methods calls to start a separate Eclipse session in which the tests are executed. The results are evaluated in the intercepted method execution in way they were evaluated for existing JUnit-3-based session tests. Session that are expected to fail can be annotated with an added @SessionShouldFail annotation.
Functionality is demonstrated in a manually executed sample session test.
Functionality is demonstrated in a manually executed sample session test as well as by application to the session test in the runtime tests project. Since JUnit 5 test suites are not yet supported, the project is adapted to execute tests without suites.-> resolved via eclipse-tycho/tycho#3358
In order to get the session test running with Tycho, an adaptation of the test application provided via PDE is necessary, because a faulty class loader is currently used for the test engines during remote execution.-> resolved via eclipse-pde/eclipse.pde#1047
Contributes to: