platform-core-home/documents/test_plan_30.html
Parent Directory
|
Revision Log
Revision 1.21 - (view) (download) (as text)
| 1 : | dj | 1.1 | <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> |
| 2 : | <html> | ||
| 3 : | <head> | ||
| 4 : | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 5 : | <meta name="GENERATOR" content="Microsoft FrontPage 4.0"> | ||
| 6 : | <title>Test Plan - 3.0</title> | ||
| 7 : | <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css"> | ||
| 8 : | </head> | ||
| 9 : | <body text="#000000" bgcolor="#FFFFFF"> | ||
| 10 : | jeff | 1.10 | |
| 11 : | jeff | 1.5 | <h1><a name="top"></a>3.0 Core Test Plan</h1> |
| 12 : | jeff | 1.7 | <p>Testing will cover the functional areas on these platforms/VMs</p> |
| 13 : | <table border="1" width="63%"> | ||
| 14 : | jeff | 1.5 | <tr> |
| 15 : | jeff | 1.7 | <td width="54%"> </td> |
| 16 : | <td width="23%">JDK 1.4.2</td> | ||
| 17 : | <td width="23%">SC 1.4.2</td> | ||
| 18 : | jeff | 1.5 | </tr> |
| 19 : | <tr> | ||
| 20 : | jeff | 1.7 | <td>Windows 2000 (FAT32)</td> |
| 21 : | jeff | 1.5 | <td> </td> |
| 22 : | <td> </td> | ||
| 23 : | </tr> | ||
| 24 : | <tr> | ||
| 25 : | jeff | 1.7 | <td>Windows XP (NTFS)</td> |
| 26 : | jeff | 1.5 | <td> </td> |
| 27 : | <td> </td> | ||
| 28 : | </tr> | ||
| 29 : | <tr> | ||
| 30 : | <td>Mac OSX</td> | ||
| 31 : | <td> </td> | ||
| 32 : | <td>N/A</td> | ||
| 33 : | </tr> | ||
| 34 : | <tr> | ||
| 35 : | <td>Linux</td> | ||
| 36 : | <td> </td> | ||
| 37 : | <td> </td> | ||
| 38 : | </tr> | ||
| 39 : | </table> | ||
| 40 : | <ul> | ||
| 41 : | <li><a href="#launcher">Launcher</a></li> | ||
| 42 : | <li><a href="#osgi">OSGi</a></li> | ||
| 43 : | dj | 1.16 | <li><a href="#equinox">Runtime - Equinox</a></li> |
| 44 : | <li><a href="#jobs">Runtime - Jobs</a></li> | ||
| 45 : | <li><a href="#preferences">Runtime - Preferences</a></li> | ||
| 46 : | jeff | 1.5 | <li><a href="#resources">Resources</a></li> |
| 47 : | <li><a href="#pde-build">PDE Build</a></li> | ||
| 48 : | <li><a href="#performance">Performance</a></li> | ||
| 49 : | </ul> | ||
| 50 : | jeff | 1.6 | <p>Points to remember when testing</p> |
| 51 : | <ul> | ||
| 52 : | <li>File a bug when something does not work. Do not try to fix the problem | ||
| 53 : | unless it prohibits further testing.</li> | ||
| 54 : | <li>When | ||
| 55 : | a test can be automated and is not part of our test suite, add a JUnit | ||
| 56 : | test to the test suite.</li> | ||
| 57 : | </ul> | ||
| 58 : | jeff | 1.5 | <hr> |
| 59 : | dj | 1.1 | |
| 60 : | johna | 1.12 | |
| 61 : | dj | 1.1 | <h3><a name="launcher"/>Launcher</h3> |
| 62 : | jeff | 1.3 | <h4>No config.ini</h4> |
| 63 : | dj | 1.1 | <ul> |
| 64 : | jeff | 1.3 | <li>install Eclipse</li> |
| 65 : | <li>delete the configuration dir</li> | ||
| 66 : | <li>start Eclipse</li> | ||
| 67 : | <li>confirm that everything goes smoothly. The only thing that should be different | ||
| 68 : | is the lack of splash screen.</li> | ||
| 69 : | <li>Note: There may be an issue with the eclipse.product not being set and the | ||
| 70 : | runtime not knowing which application to run. We may no longer be able | ||
| 71 : | to run without a config.ini. If there is a strong usecase for this then | ||
| 72 : | we could embed a valud in eclipse.properties if we had to.</li> | ||
| 73 : | dj | 1.1 | </ul> |
| 74 : | jeff | 1.7 | <h4>Exit data</h4> |
| 75 : | <ul> | ||
| 76 : | jeff | 1.8 | <li>set the exit data system property to a string value</li> |
| 77 : | <li>exit Eclipse with the an error code other than 0, 23 or 24 and ensure | ||
| 78 : | jeff | 1.7 | the exit data string is properly displayed</li> |
| 79 : | jeff | 1.8 | </ul> |
| 80 : | jeff | 1.7 | <h4>Restart</h4> |
| 81 : | <ul> | ||
| 82 : | <li>start Eclipse, use the VM, commands and vmargs System properties to construct | ||
| 83 : | a new command line</li> | ||
| 84 : | <li>set this new command line in the exitdata</li> | ||
| 85 : | <li>exit Eclipse with return code 24</li> | ||
| 86 : | <li>confirm that the specified command was run on restart</li> | ||
| 87 : | </ul> | ||
| 88 : | <a href="#top">Back to top</a><br><hr> | ||
| 89 : | dj | 1.1 | |
| 90 : | <h3><a name="osgi"/>OSGi</h3> | ||
| 91 : | jeff | 1.6 | <h4>Command line options</h4> |
| 92 : | <ul> | ||
| 93 : | jeff | 1.8 | <li>try various command line options and ensure that the corresponding system |
| 94 : | jeff | 1.6 | property values are set. In particular, |
| 95 : | <ul> | ||
| 96 : | <li>-configuration</li> | ||
| 97 : | <li>-product</li> | ||
| 98 : | <li>-application</li> | ||
| 99 : | <li>-install</li> | ||
| 100 : | <li>-data</li> | ||
| 101 : | </ul> | ||
| 102 : | </li> | ||
| 103 : | </ul> | ||
| 104 : | jeff | 1.2 | <h4>Shared Install 1</h4> |
| 105 : | dj | 1.1 | <ul> |
| 106 : | jeff | 1.2 | <li>install Eclipse on shared drive</li> |
| 107 : | <li>run once with -initialize, mark read-only</li> | ||
| 108 : | <li>run one instance, exit</li> | ||
| 109 : | <li>run another instance (as different user or on different machine), exit</li> | ||
| 110 : | <li>run two instances at the same time (as different users or on different | ||
| 111 : | machines)</li> | ||
| 112 : | <li>exit in same order as start (i.e., start 1, start 2, exit 1, exit 2)</li> | ||
| 113 : | </ul> | ||
| 114 : | <h4>Shared Install 2</h4> | ||
| 115 : | <ul> | ||
| 116 : | <li>install Eclipse on shared drive</li> | ||
| 117 : | <li>run once with -initialize, mark read-only</li> | ||
| 118 : | <li>run user instance, exit</li> | ||
| 119 : | <li>start admin instance (with read/write permissions)</li> | ||
| 120 : | <li>install new features using update manager, exit</li> | ||
| 121 : | <li>restart previous user instance</li> | ||
| 122 : | <li>confirm that newly installed features are present and funcitonal</li> | ||
| 123 : | <li>check that no additional files have been written in the local configuration | ||
| 124 : | area</li> | ||
| 125 : | </ul> | ||
| 126 : | <h4>Shared Install 3</h4> | ||
| 127 : | <ul> | ||
| 128 : | <li>install Eclipse on shared drive</li> | ||
| 129 : | <li>run once with -initialize, mark read-only</li> | ||
| 130 : | <li>run one instance</li> | ||
| 131 : | <li>install new features using update manager</li> | ||
| 132 : | <li>restart. New features should be there and totally functional</li> | ||
| 133 : | <li>start another instance as the same user on the same machine</li> | ||
| 134 : | jeff | 1.8 | <li>previously installed features should be present and functional</li> |
| 135 : | jeff | 1.2 | <li>start another instance on a different machine or as a different user</li> |
| 136 : | <li>previoulsy installed features should NOT be present </li> | ||
| 137 : | dj | 1.1 | </ul> |
| 138 : | rchaves | 1.20 | <h4>Resolution</h4> |
| 139 : | <ul> | ||
| 140 : | <li>confirm the new range-based version matching works as expected, looking | ||
| 141 : | for corner cases</li> | ||
| 142 : | <li>check resolution in the presence of fragments</li> | ||
| 143 : | </ul> | ||
| 144 : | <p>Note: should consider reenabling the old resolver tests, doing the necessary | ||
| 145 : | port to work with the new APIs</p> | ||
| 146 : | <a href="#top">Back to top</a> | ||
| 147 : | <hr> | ||
| 148 : | dj | 1.1 | <h3><a name="equinox"/>Runtime - Equinox</h3> |
| 149 : | |||
| 150 : | jeff | 1.3 | <h4>JAR'd plugins</h4> |
| 151 : | dj | 1.1 | <ul> |
| 152 : | jeff | 1.3 | <li>populate an update site with the Core Tools feature and plugins/fragments. |
| 153 : | mark the relevant feature entries as unpack=false.</li> | ||
| 154 : | <li>start Eclipse and install the Core Tools feature using update manager</li> | ||
| 155 : | <li>check that the plugins and fragments did not get exploded</li> | ||
| 156 : | <li>confirm that the Core Tools function as expected</li> | ||
| 157 : | dj | 1.1 | </ul> |
| 158 : | rchaves | 1.9 | <h4>Extension registry</h4> |
| 159 : | <ul> | ||
| 160 : | <li>install a plug-in dynamically and check whether its extensions and extension | ||
| 161 : | points are properly added to the registry</li> | ||
| 162 : | <li>remove it and ensure its extensions and extension points go away</li> | ||
| 163 : | <li>do the same as above with two plugins where one of them requires the other.</li> | ||
| 164 : | <li>do the same as above with a plugin and a fragment, where both contribute extensions/extension points.</li> | ||
| 165 : | <li>ensure plugin manifests with valid XML but missing required elements/attributes | ||
| 166 : | in extensions/extension points markup are properly ignored/handled</li> | ||
| 167 : | jeff | 1.10 | |
| 168 : | rchaves | 1.9 | </ul> |
| 169 : | rchaves | 1.15 | <p><strong>Note</strong>: use the <code>org.eclipse.core.runtime/registry/debug/events/extension</code> debug option |
| 170 : | to monitor registry change events</p> | ||
| 171 : | jeff | 1.10 | <h4>Nested jars</h4> |
| 172 : | <ul> | ||
| 173 : | <li>Zip the Junit folder such that the files are at the root of the archive, and rename the archive to have .jar as extension</li> | ||
| 174 : | <li>Delete the JUnit folder</li> | ||
| 175 : | <li>Start eclipse</li> | ||
| 176 : | <li>In the console type | ||
| 177 : | <pre> | ||
| 178 : | install reference:file:/<junit.jar> | ||
| 179 : | refresh <installNumber of the installed plugin> | ||
| 180 : | ss | ||
| 181 : | </pre> | ||
| 182 : | Check that the junit plugin is installed and resolved. | ||
| 183 : | Run a Junit test. | ||
| 184 : | </ul> | ||
| 185 : | |||
| 186 : | <h4>Code in folders</h4> | ||
| 187 : | <ul> | ||
| 188 : | <li>Unzip the content of the original JUnit.jar into a folder named "code"</li> | ||
| 189 : | <li>In the plugin.xml replace >library name="junit.jar"< by >library name="code/"<</li> | ||
| 190 : | <li>Start eclipse</li> | ||
| 191 : | <li>In the console type | ||
| 192 : | <pre> | ||
| 193 : | install reference:file:/<junit folder> | ||
| 194 : | refresh <installNumber of the installed plugin> | ||
| 195 : | ss | ||
| 196 : | </pre> | ||
| 197 : | Check that the junit plugin is installed and resolved. | ||
| 198 : | Run a Junit test. | ||
| 199 : | </ul> | ||
| 200 : | |||
| 201 : | |||
| 202 : | <h4>Folders in a Jar</h4> | ||
| 203 : | <ul> | ||
| 204 : | <li>Zip the content of the Junit folder from the previous test in such a way that plugin.xml is that the root of the archive</li> | ||
| 205 : | <li>Start eclipse</li> | ||
| 206 : | <li>In the console type | ||
| 207 : | <pre> | ||
| 208 : | install reference:file:/<junit folder> | ||
| 209 : | refresh <installNumber of the installed plugin> | ||
| 210 : | ss | ||
| 211 : | </pre> | ||
| 212 : | Check that the junit plugin is installed and resolved. | ||
| 213 : | Run a Junit test. | ||
| 214 : | </ul> | ||
| 215 : | jeff | 1.5 | <a href="#top">Back to top</a><br><hr> |
| 216 : | dj | 1.1 | <h3><a name="jobs"/>Runtime - Jobs</h3> |
| 217 : | johna | 1.12 | <h4>Test concurrent operations in UI thread</h4> |
| 218 : | <ul> | ||
| 219 : | <li>Enable <b>Always run in background</b> preference </li> | ||
| 220 : | <li>Start checkout of platform-core module from CVS</li> | ||
| 221 : | <li>During checkout, switch to the Java perspective</li> | ||
| 222 : | <li>UI may become blocked, but should eventually become responsive</li> | ||
| 223 : | <li>Open Path.java in Java editor</li> | ||
| 224 : | <li>Switch back to CVS perspective</li> | ||
| 225 : | johna | 1.13 | <li>Start checkout of org.eclipse.jdt.ui.tests.refactoring (or other big project)</li> |
| 226 : | johna | 1.12 | <li>Open Navigator: New files should start appearing</li> |
| 227 : | <li>Add breakpoint to a method in Path.java: should appear quickly</li> | ||
| 228 : | <li>Remove breakpoint: should be responsive</li> | ||
| 229 : | <li>Start typing in Path.java: Should not block</li> | ||
| 230 : | <li>Save Path.java: Should not block</li> | ||
| 231 : | <li>Start typing in Path.java again: Should not block</li> | ||
| 232 : | <li>Revert file: Should not block</li> | ||
| 233 : | </ul> | ||
| 234 : | <h4>Many background tasks</h4> | ||
| 235 : | <ul> | ||
| 236 : | <li>Start CVS checkout of ten or more different projects</li> | ||
| 237 : | <li>Open progress view (double-click in lower right hand corner of workbench window)</li> | ||
| 238 : | <li>All checkout tasks should be making progress</li> | ||
| 239 : | <li>Canceling the checkouts should respond in a timely manner.</li> | ||
| 240 : | </ul> | ||
| 241 : | <h4>Nested blocking acquires</h4> | ||
| 242 : | <ul> | ||
| 243 : | <li>Install the org.eclipse.ui.examples.job plugin</li> | ||
| 244 : | <li>Load org.eclipse.ui.examples.job</li> | ||
| 245 : | <li>Open the Job Factory view</li> | ||
| 246 : | <li>Check "Lock the workspace"</li> | ||
| 247 : | <li>Click "Create Jobs"</li> | ||
| 248 : | <li>Change quantity to 3 and duration to 10 seconds</li> | ||
| 249 : | <li>Click "Touch Workspace"</li> | ||
| 250 : | <li>Cancel the Test Job</li> | ||
| 251 : | <li>Dialog should close</li> | ||
| 252 : | <li>Repeat all above steps except cancel the blocked operation instead of the test job (three times)</li> | ||
| 253 : | <li>Dialog should close but test job should continue running</li> | ||
| 254 : | </ul> | ||
| 255 : | <h4>Shutdown while job is running</h4> | ||
| 256 : | <ul> | ||
| 257 : | <li>Start a long CVS checkout</li> | ||
| 258 : | <li><b>File > Exit</b>.</li> | ||
| 259 : | <li>A progress dialog will appear indicating that the operation is waiting.</li> | ||
| 260 : | <li>Expand <b>Details</b> area and cancel the CVS checkout</li> | ||
| 261 : | <li>Exit should now complete in a timely manner</li> | ||
| 262 : | </ul> | ||
| 263 : | dj | 1.17 | |
| 264 : | jeff | 1.5 | <a href="#top">Back to top</a><br><hr> |
| 265 : | dj | 1.1 | <h3><a name="preferences"/>Runtime - Preferences</h3> |
| 266 : | |||
| 267 : | dj | 1.17 | <h4>Automatic Migration: 2.1 to 3.0</h4> |
| 268 : | <ul> | ||
| 269 : | <li>Start with a 2.1 workspace</li> | ||
| 270 : | <li>Change some settings.</li> | ||
| 271 : | <li>Run 3.0 on that workspace.</li> | ||
| 272 : | <li>Validate preferences.</li> | ||
| 273 : | </ul> | ||
| 274 : | |||
| 275 : | <h4>Explicit Migration: 2.1 to 3.0</h4> | ||
| 276 : | <ul> | ||
| 277 : | <li>Start 2.1.</li> | ||
| 278 : | <li>Change settings.</li> | ||
| 279 : | <li>Export settings.</li> | ||
| 280 : | <li>Start 3.0 (new workspace)</li> | ||
| 281 : | <li>Import settings.</li> | ||
| 282 : | <li>Validate preferences.</li> | ||
| 283 : | </ul> | ||
| 284 : | |||
| 285 : | <h4>Import/Export</h4> | ||
| 286 : | <ul> | ||
| 287 : | <li>Test Import/Export mechanism.</li> | ||
| 288 : | <li>Test project version validation code.</li> | ||
| 289 : | </ul> | ||
| 290 : | |||
| 291 : | <h4>Default values</h4> | ||
| 292 : | <ul> | ||
| 293 : | <li>Test old default initialization code.</li> | ||
| 294 : | <li>Test product customization code.</li> | ||
| 295 : | <li>Test new default inititalization extension point.</li> | ||
| 296 : | </ul> | ||
| 297 : | |||
| 298 : | <h4>Project Preferences</h4> | ||
| 299 : | <ul> | ||
| 300 : | <li>Current people using it in SDK are: Character Encoding, PDE runtime workbench output folder exclusion.</li> | ||
| 301 : | dj | 1.19 | <li>Test sharing project prefs in the repository.</li> |
| 302 : | <li>Change file in file-system, auto-refresh on -> changes come into workspace</li> | ||
| 303 : | <li>Change in file-system, auto-refresh off -> IFile#setContents should handle things?</li> | ||
| 304 : | dj | 1.17 | </ul> |
| 305 : | |||
| 306 : | <h4>Everything Else...</h4> | ||
| 307 : | dj | 1.1 | <ul> |
| 308 : | dj | 1.17 | <li>Should not notice any changes in behaviour from 2.1.</li> |
| 309 : | dj | 1.1 | </ul> |
| 310 : | dj | 1.17 | |
| 311 : | jeff | 1.5 | <a href="#top">Back to top</a><br><hr> |
| 312 : | <h3><a name="resources"/>Resources</h3> | ||
| 313 : | dj | 1.1 | |
| 314 : | rchaves | 1.9 | <h4>Encoding - Content types</h4> |
| 315 : | <ul> | ||
| 316 : | <li>confirm that the right content type is selected when a complex hierarchy | ||
| 317 : | rchaves | 1.14 | of content types exist (use the resource properties dialog to see the content |
| 318 : | type that was chosen): | ||
| 319 : | <ul> | ||
| 320 : | <li>a .xml file is recognized as XML</li> | ||
| 321 : | <li>a .xml file whose root element is <project> is recognized as an | ||
| 322 : | rchaves | 1.9 | Ant Build Script</li> |
| 323 : | rchaves | 1.14 | <li>a plugin.xml file is recognized as a Plugin Manifest file</li> |
| 324 : | <li>a plugin.xml file whose root element is <project> is recognized | ||
| 325 : | rchaves | 1.9 | as an Ant Build Script</li> |
| 326 : | rchaves | 1.14 | </ul> |
| 327 : | rchaves | 1.9 | </li> |
| 328 : | rchaves | 1.14 | <li>try the same as above with partial/empty XML files - whenever a file has |
| 329 : | a .xml extension, it should at least be recognized as XML. If the contents | ||
| 330 : | are complete enough (root element can be parsed), more specific content types | ||
| 331 : | (such as Ant scripts) should be picked.</li> | ||
| 332 : | rchaves | 1.9 | <li>confirm that the right encoding is picked for XML files containing a "encoding" |
| 333 : | rchaves | 1.14 | attribute or not (default is UTF-8)</li> |
| 334 : | <li>this is a list of all content types in the SDK: | ||
| 335 : | <ul> | ||
| 336 : | <li>org.eclipse.core.runtime.text | ||
| 337 : | <ul> | ||
| 338 : | <li>org.eclipse.core.runtime.xml (*.xml, .classpath, .properties) | ||
| 339 : | <ul> | ||
| 340 : | <li>org.eclipse.ant.core.antBuildFile (*.xml with a <project> | ||
| 341 : | root element)</li> | ||
| 342 : | <li>org.eclipse.pde.core.pluginManifest (plugin.xml)</li> | ||
| 343 : | <li>org.eclipse.pde.core.fragmentManifest (fragment.xml)</li> | ||
| 344 : | </ul> | ||
| 345 : | </li> | ||
| 346 : | <li>org.eclipse.jdt.core.javaProperties (*.properties) | ||
| 347 : | <ul> | ||
| 348 : | <li>org.eclipse.pde.core.pluginProperties (plugin.properties)</li> | ||
| 349 : | </ul> | ||
| 350 : | </li> | ||
| 351 : | <li>org.eclipse.jdt.core.JARManifest (MANIFEST.MF)</li> | ||
| 352 : | <li>org.eclipse.jdt.core.javaSource</li> | ||
| 353 : | </ul> | ||
| 354 : | </li> | ||
| 355 : | </ul> | ||
| 356 : | </li> | ||
| 357 : | </ul> | ||
| 358 : | <h4>Encoding - BOMs</h4> | ||
| 359 : | <ul> | ||
| 360 : | <li>confirm text files (or any derived content types such as XML and Java source | ||
| 361 : | files) are said to have the right encoding when they present a Byte Order | ||
| 362 : | Mark (use Notepad to generate those)</li> | ||
| 363 : | <li>confirm opening such files works ok</li> | ||
| 364 : | <li>confirm encoding of files with BOM can be overridden by setting a user-specified | ||
| 365 : | encoding</li> | ||
| 366 : | rchaves | 1.9 | </ul> |
| 367 : | <h4>Encoding - Preferences</h4> | ||
| 368 : | <ul> | ||
| 369 : | <li>check the encoding-related info is properly updated when changes are made | ||
| 370 : | directly to the underlying preferences file (<project>/.settings/org.eclipse.core.resources.prefs) | ||
| 371 : | - try editing the file in a text editor, deleting the file, making the file | ||
| 372 : | out-of-sync</li> | ||
| 373 : | </ul> | ||
| 374 : | dj | 1.1 | |
| 375 : | jeff | 1.5 | <a href="#top">Back to top</a><br><hr> |
| 376 : | dj | 1.1 | <h3><a name="pde-build"/>PDE-Build</h3> |
| 377 : | jeff | 1.3 | <h4>Plugin with "." on the classpath</h4> |
| 378 : | <ul> | ||
| 379 : | <li> Using the "new plugin wizard" create a plugin named Dot1 with "." as a jar name. </li> | ||
| 380 : | <li> Export it as a zip. Verify that the classes are not into a jar. </li> | ||
| 381 : | <li> Export it as folder. Verify that the classes are at the root of the folder.</li> | ||
| 382 : | </ul> | ||
| 383 : | |||
| 384 : | |||
| 385 : | <h4>Compiling against a plugin with "." on the classpath</h4> | ||
| 386 : | <ul> | ||
| 387 : | <li> Create a plugin named Normal</li> | ||
| 388 : | <li> add a dependency to Dot1 in the plugin.xml</li> | ||
| 389 : | <li> add a code dependency from a class in Normal to a class in Dot1</li> | ||
| 390 : | <li> try to export Normal</li> | ||
| 391 : | <li> try to export Normal and Dot1</li> | ||
| 392 : | <li> confirm that no compile errors occured (if there were you would get an error dialog at the end of the export)</li> | ||
| 393 : | </ul> | ||
| 394 : | |||
| 395 : | |||
| 396 : | <h4>Plugin with a folder on the classpath</h4> | ||
| 397 : | <ul> | ||
| 398 : | <li> Create a plugin named Folder1 with "myFolder" as a jar name</li> | ||
| 399 : | <li> edit the build.properties and add a slash after myFolder in bin.includes property</li> | ||
| 400 : | <li> Export as folder, verify that the class files are rooted in a folder called myFolder</li> | ||
| 401 : | </ul> | ||
| 402 : | |||
| 403 : | |||
| 404 : | <h4>Testing the build order</h4> | ||
| 405 : | <ul> | ||
| 406 : | <li> in the plugin Folder1, add the following things in the runtime section of the plugin.xml</li> | ||
| 407 : | <pre> | ||
| 408 : | <library name="yourFolder"> | ||
| 409 : | <export name="*"/> | ||
| 410 : | </library> | ||
| 411 : | <library name="library.jar"> | ||
| 412 : | export name="*"/> | ||
| 413 : | </library> | ||
| 414 : | </pre> | ||
| 415 : | <li> replace the content of the build.properties by </li> | ||
| 416 : | <pre> | ||
| 417 : | source.myFolder = src/ | ||
| 418 : | output.myFolder = bin/ | ||
| 419 : | source.yourFolder = src/ | ||
| 420 : | output.yourFolder = bin/ | ||
| 421 : | source.library.jar = src/ | ||
| 422 : | output.library.jar = bin/ | ||
| 423 : | bin.includes = plugin.xml,\ | ||
| 424 : | myFolder/, | ||
| 425 : | yourFolder/ | ||
| 426 : | jars.compile.order = yourFolder, library.jar, myFolder | ||
| 427 : | </pre> | ||
| 428 : | <li> generate manually the build.xml and verify that the build.jars target successively and in this order list yourFolder, library.jar and myFolder</li> | ||
| 429 : | </ul> | ||
| 430 : | |||
| 431 : | <h4>Reuse the plugin Normal</h4> | ||
| 432 : | <ul> | ||
| 433 : | <li> add a dependency to Folder1</li> | ||
| 434 : | <li> add a code dependency from a class in Normal to a class in Folder1</li> | ||
| 435 : | <li> Export Normal</li> | ||
| 436 : | <li> Export Normal and Folder1</li> | ||
| 437 : | </ul> | ||
| 438 : | |||
| 439 : | |||
| 440 : | <h4>Export of qualified plugins</h4> | ||
| 441 : | <ul> | ||
| 442 : | <li> Create a plugin Qualified where the version number ends is 1.0.0.qualifier.</li> | ||
| 443 : | <li> open the build.properties and add | ||
| 444 : | <pre>qualifier = context</pre></li> | ||
| 445 : | <li> Export the plugin as zip and verify that the name of the zip has 1.0.0.<date Of The Day></li> | ||
| 446 : | <li> Export the plugin as folder and verify that the folder as the name 1.0.0.<date of the day></li> | ||
| 447 : | <li> Verify that the version number of the feature in the feature.xml has been updated</li> | ||
| 448 : | |||
| 449 : | <li> change the build.properties to | ||
| 450 : | <pre>qualifier = NONE</pre></li> | ||
| 451 : | <li> Export the plugin as zip and verify that the name of the zip is 1.0.0</li> | ||
| 452 : | <li> Export the plugin as folder and verify that the name of the directory is 1.0.0</li> | ||
| 453 : | <li> change the build.properties to | ||
| 454 : | <pre>qualifier = myValue</pre> | ||
| 455 : | </li> | ||
| 456 : | <li> Export the plugin as zip and verify that the name of the zip is 1.0.0.myValue</li> | ||
| 457 : | <li> Export the plugin as folder and verify that the name of the directory is 1.0.0.myValue</li> | ||
| 458 : | </ul> | ||
| 459 : | |||
| 460 : | |||
| 461 : | <h4>Export of qualified features</h4> | ||
| 462 : | <ul> | ||
| 463 : | <li> Create a feature QualifiedFeature, set the version number as 1.0.0.qualifier (don't need to add a plugin in the feature)</li> | ||
| 464 : | <li> repeat the same steps as in the test with plugin</li> | ||
| 465 : | </ul> | ||
| 466 : | |||
| 467 : | |||
| 468 : | <h4>Export of qualified plugins and features</h4> | ||
| 469 : | <ul> | ||
| 470 : | <li> Take the feature previously created</li> | ||
| 471 : | <li> add the plugin "Qualified" in the feature</li> | ||
| 472 : | <li> Export the feature and verify that the feature.xml content has been updated (the reference to Qualified has the number from the "Qualified" plugin)</li> | ||
| 473 : | <li> Verify that the version number of the feature in the feature.xml has been updated</li> | ||
| 474 : | </ul> | ||
| 475 : | |||
| 476 : | |||
| 477 : | <h4>Export of nested features with qualifiers</h4> | ||
| 478 : | <ul> | ||
| 479 : | <li> create a new feature (no importance in the name and version)</li> | ||
| 480 : | <li> add the newly created feature to this feature</li> | ||
| 481 : | <li> export the "QualifiedFeature" feature and verify that the feature.xml has been updated properly</li> | ||
| 482 : | </ul> | ||
| 483 : | dj | 1.1 | |
| 484 : | prapicau | 1.11 | <h4>Test of optional matching rules</h4> |
| 485 : | <ul> | ||
| 486 : | <li>Create a plugin named Match1</li> | ||
| 487 : | <li>Create a plugin named Match2</li> | ||
| 488 : | <li>Update Match2 dependencies to optionaly requires Match1</li> | ||
| 489 : | <li>Close Match1 project</li> | ||
| 490 : | <li>Generate the build.xml (right click on plugin.xml)</li> | ||
| 491 : | <li>If the build.xml is generated it is ok</li> | ||
| 492 : | </ul> | ||
| 493 : | |||
| 494 : | |||
| 495 : | <h4>Tests of matching rules</h4> | ||
| 496 : | <ul> | ||
| 497 : | <li>Re-open the plugin named Match1</li> | ||
| 498 : | <li>Update Match2 dependencies to have a dependency on Match1 which is version="1.0.0" match="perfect"</li> | ||
| 499 : | <li>Generate the build.xml (right click on plugin.xml)</li> | ||
| 500 : | <li>If the build.xml is generated it is ok</li> | ||
| 501 : | |||
| 502 : | <li>Repeat steps 2, 3 and 4 for the 3 different values for matching rules | ||
| 503 : | <pre> | ||
| 504 : | version="1.0.0" match="perfect" | ||
| 505 : | version="1.0.0" match="equivalent" | ||
| 506 : | version="1.0.0" match="compatible" | ||
| 507 : | version="1.0.0" match="greaterOrEquals" | ||
| 508 : | </pre> | ||
| 509 : | |||
| 510 : | <li>Change Match1 version number to be 1.0.1 and repeat the "repeat section". The test with perfect match is expected to | ||
| 511 : | fail.</li> | ||
| 512 : | <li>Change Match1 version number to be 1.1.0 and repeat the "repeat section". The tests with perfect and equivalent are | ||
| 513 : | expected to fail.</li> | ||
| 514 : | <li>Change Match1 version number to be 2.0.0 and repeat the "repeat section". The tests with perfect, equivalent and | ||
| 515 : | prapicau | 1.21 | compatible are expected to fail.</li> |
| 516 : | </ul> | ||
| 517 : | |||
| 518 : | <h4>2.1.x test</h4> | ||
| 519 : | <ul> | ||
| 520 : | <li>Change your target platform to point to a 2.1.x eclipse install</li> | ||
| 521 : | <li>Create a new plugin using the wizard (check that the 2.1 flag is checked by default)</li> | ||
| 522 : | <li>Export the plugin and verify that no errors occured</li> | ||
| 523 : | <li>Manually create the build.xml, and verify that the classpath for the compilation target starts by and boot, runtime</li> | ||
| 524 : | </ul> | ||
| 525 : | |||
| 526 : | <h4>Test with not matched fragments</h4> | ||
| 527 : | <ul> | ||
| 528 : | <li>Install the nl fragments</li> | ||
| 529 : | <li>Export a plugin that you have previously built and verify that no errors occured and that nothing in logged</li> | ||
| 530 : | </ul> | ||
| 531 : | prapicau | 1.11 | |
| 532 : | prapicau | 1.21 | <h4>Releng scenarios</h4> |
| 533 : | <ul> | ||
| 534 : | <li>Try to do an sdk build for win32</li> | ||
| 535 : | <li>Verify that the resulting zip is of the expected size (note that there might be a difference due to doc)</li> | ||
| 536 : | prapicau | 1.11 | </ul> |
| 537 : | prapicau | 1.21 | |
| 538 : | prapicau | 1.11 | |
| 539 : | jeff | 1.5 | <a href="#top">Back to top</a><br><hr> |
| 540 : | dj | 1.1 | <h3><a name="performance"/>Performance</h3> |
| 541 : | jeff | 1.8 | <h4>Startup</h4> |
| 542 : | dj | 1.1 | <ul> |
| 543 : | jeff | 1.8 | <li>follow the empty, medium and big workspace scenarios as detailed on <a href="http://eclipse.org/eclipse/development/performance/index.html">Eclipse |
| 544 : | performance page</a>.</li> | ||
| 545 : | dj | 1.1 | </ul> |
| 546 : | jeff | 1.5 | <a href="#top">Back to top</a><br><hr> |
| 547 : | dj | 1.1 | |
| 548 : | </body> | ||
| 549 : | </html> |
| help@eclipse.org | ViewVC Help |
| Powered by ViewVC 1.0.3 |
