Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Junit Automated Tests
Everything starts at the test.xml file in the org.eclipse.cdt.testing plug-in, which lists the test suites that get run.
Junits run on a build machine nightly after build is created and published along with build logs for each build on CDT Nightly Builds page.
Also builds and tests are run every six hours from the CDT trunk on Hudson.
Build machine configuration:
SUSE Linux version 2.6.*-ppc64 gcc version 4.1.2 20070115
How to add a Test
Adding JUnits is as simple as adding tests to existing suites or adding new suites. Usually each component has its own base test classes which provides common helper methods.
How to add a new test plugin
- Create a new plugin project which usually has name as component you want to test and add .tests (or .test), for example org.eclipse.cdt.cool.tests
- Make sure you include all test files and resources in build.properties file. If test set-up to read java source to extract test cases make sure you include src folder (or corresponding source folder)
- Add your plugin in org.eclipse.cdt.testing-feature
- In the main plugin list add you plugin, i.e. org.eclipse.cdt.cool.tests
- Add dependencies. In Dependencies tab press Calculate which should update the dependencies.
- In releng/org.eclipse.cdt.master/feature.xml make sure that the feature you are testing (i.e. org.eclipse.cdt.cool) is located before org.eclipse.cdt.testing feature (order of features defines a build order)
- Copy pom.xml from another test plugin and edit identifiers and class names
- In org.eclipse.cdt.target plugin edit parent-pom.xml and add your plugin
- If you have new dependencies also edit *.target file in same plugin to add runtime dependency for target
This below is obsolite since we moved to maven
- Create an ant target and call to it in org.eclipse.cdt.testing/test.xml (copy and modify one of the existing ones)
- Copy test.xml from any other test plugin and modify plugin-name and classname properties (classname would be the main suite in the project, for example org.eclipse.cdt.cool.test.AutomatedIntegrationSuite)
How to run Junit tests from IDE
If tests are written properly you should be able to right click on any java file that contains test suite and select Run As->JUnit Plug-in Test..
To find root file for project open text.xml or corresponding project, for example org.eclipse.cdt.core.tests and find property "classname" in target "suite". For project above it is org.eclipse.cdt.core.suite.AutomatedIntegrationSuite.