2003-07-03 Peter Graves

	Major cleanup. Pulled all resouces out of the source tree, and fixed the  
	tests to get them from the new location.  
	Made sure the debug sessions were all terminated before we try to delete the 
	the projects (if the tests failed, the session would not be terminated, and 
	then we would not be able to remove the projects.)	
	Also updated the breakpoint	tests to only create and build the test project 
	once per run, not once per test method.
	
2003-04-04 Alain Magloire

	* src/org/eclipse/cdt/debug/testplugin/util/VeryfyDialog.java:
	Get rig of some warnings.

2003-03-27 Alain Magloire

	Adjust the code because of refactoring.
	ICFolder and ICResource are removed.

2003-01-29 Peter Graves
 
   Fixed warnings when accessing static methods
   * src/org/eclipse/cdt/debug/testplugin/util/DialogCheck.java:
   * src/org/eclipse/cdt/debug/testplugin/CTestPlugin.java:
   * src/org/eclipse/cdt/debug/testplugin/TestWorkbench.java:
   * ChangeLog: Make all the entries have the same formatting

2003-01-22 Judy N. Green

   * /home/tools/org.eclipse.cdt.debug.ui.tests/.project
   * /home/tools/org.eclipse.cdt.debug.ui.tests/.classpath
   updated classpath and .project to reflect classpath changes.

2003-01-21 Peter Graves

	* src/org/eclipse/cdt/debug/testplugin/CDebugHelper.java: Updated to use new parameters to 
	ICDISession.createCSession

2002-12-17 Peter Graves

	* plugin.xml,test.xml:  Some simple cleanups to remove refrences to the jdt and
	to move closer to automated running.
	
2002-10-30 Alain Magloire

	* core/org/eclipse/cdt/debug/core/tests/TargetTests.java: Test number
	24183 is no longer valid, the method was remove from the CDI API.