-
Notifications
You must be signed in to change notification settings - Fork 147
Description
Current Situation
Several tests have been deactivated over the years for different reasons, such as temporary incompatibilities with a specific platform/OS, bugs in the code, indeterministic behavior of the test etc.
These disablements are done by adding some prefix to test... methods in JUnit 3, by removing or commenting out @Test in JUnit 4 and 5, or by using @Ignore or @Disabled. In addition, several tests are only deactivated for specific platforms using early returns or assume statements within the test methods.
Goal
Since in most cases there is no additional, unique documentation or tagging of these disablements, they are not easy to find. This issue is supposed to be an umbrella to document disabled tests (existing ones and potentially further ones).
The purpose of this issue is to collect the disabled tests to have a central overview and provide the chance to reactivate and, if necessary, fix them. It also serves as a "good first issue" (see eclipse-platform/eclipse.platform.text#212 (comment)) for interested new contributors, which can take any of the collected tests and try to fix them to learn about the Eclipse platform code while, at the same time, already having the chance to make valuable contributions to the project.
Process
I see the following ideas as good starting points for identifying disabled tests:
- First concentrate on a single project, such as
org.eclipse.core.tests.resources - Use different techniques to find disabled tests:
- Completely disabled tests:
- Search for missing or commented out
@Testannotation (JUnit 4 and 5) - Search for tests not starting with
test(JUnit 3), in particular those starting with_test
- Search for missing or commented out
- Tests disabled for specific platforms:
- Search for accesses to OS constants in
Platform, such asOS_WIN32and validate if they are used to disable tests for specific platforms - Search for accesses to methods
isLinux()etc. inResourceTestsubclasses and validate if they are used to disable tests for specific platforms - Search for
assumeFalseorassumeTruestatements that make tests only run on specific platforms
- Search for accesses to OS constants in
- Completely disabled tests:
Examples
- The tests modified in fix ContextInformationTest #35 eclipse.platform.text#212
- Tests in
org.eclipse.core.tests.resources.regression.Bug_032076 - The
skipTesthelper inorg.eclipse.core.tests.resources.usecase.SnapshotTest
Disabled in Maven
Some tests are disabled in Maven builds, such that integration builds do not reveal whether they fail or not.
- The bundle
org.eclipse.core.tests.netis completely disabled. Tests run fine withing Eclipse on Windows, but Tycho execution fails, probably because of missing platform-dependent fragments (maybe have a look at how SWT deals with that). -
org.eclipse.team.tests.core.AllTeamUITestsandorg.eclipse.team.tests.ui.synchronize.AllTeamSynchronizeTestsare not executed as the test suite only executesorg.eclipse.team.tests.core.AllTeamTests. Tests run fine within Eclipse on WIndows, but Tycho fails to execute some of theScopeTestsand theAllTeamSynchronizeTest.