2011-09-29 Otavio Pontes <obusatto@br.ibm.com>

	Related to bug #353056
	* src/org/eclipse/linuxtools/internal/valgrind/tests/ValgrindStubCommand.java:
	Fixing class to use the new parameters for ValgrindCommand class.
	
2011-09-28 Otavio Pontes <obusatto@br.ibm.com>

	Related to bug #353056
	* src/org/eclipse/linuxtools/internal/valgrind/tests/AbstractValgrindTest.java:
	Removing dependency for ValgrindPreferencePage
	* src/org/eclipse/linuxtools/internal/valgrind/tests/ValgrindStubCommand.java:
	Removing dependency for ValgrindPreferencePage
	
2010-07-26  Elliott Baron  <ebaron@fedoraproject.org>

	* META-INF/MANIFEST.MF: Bump version to 0.7.0.
	* src/org/eclipse/linuxtools/internal/valgrind/tests/ValgrindStubCommand.java (execute): Change parameters.
	* src/org/eclipse/linuxtools/internal/valgrind/tests/ValgrindStubProcess.java (getAdapter): Change warning suppression.
	* src/org/eclipse/linuxtools/internal/valgrind/tests/ValgrindTestLaunchDelegate.java (setOutputPath): Add parameter. 

2009-12-22  Roland Grunberg  <rgrunber@redhat.com>

	* META-INF/MANIFEST.MF: Make necessary changes for switch from JUnit 3 to JUnit 4.

2009-08-11  Elliott Baron  <ebaron@redhat.com>

	* src/org/eclipse/linuxtools/valgrind: Removed.
	* META-INF/MANIFEST.MF: Bump version to 0.3.0.

2009-08-07  Andrew Overholt  <overholt@redhat.com>

	Bug #285861

	* plugin.properties: Change Provider to Eclipse.

2009-07-30  Elliott Baron  <ebaron@redhat.com>

	* src/org/eclipse/linuxtools/valgrind/tests: Removed.
	* src/org/eclipse/linuxtools/internal/valgrind/tests: New package. 
	* META-INF/MANIFEST.MF: Export internal package.
	* test.xml: Update class references.

2009-06-25  Elliott Baron  <ebaron@redhat.com>

	* ValgrindStubProcess.java: Removed unused code.
	* ValgrindTestLaunchDelegate.java: Likewise.

2009-06-23  Elliott Baron  <ebaron@redhat.com>

	* ValgrindTestExportWizard.java: Removed.
	* ValgrindTestExportWizardPage.java: Removed.
	* ValgrindTestLaunchPlugin.java: Removed.
	* ValgrindTestOptionsTab.java: Removed.
	* AbstractValgrindTest.java: Set ValgrindStubCommand explicitly. 
	* ValgrindTestLaunchDelegate.java: Remove reference to TestLaunchPlugin.

2009-06-22  Elliott Baron  <ebaron@redhat.com>

	* ValgrindTestLaunchPlugin.java	(setValgrindLocation): Act as proxy for real plugin. 
	(getValgrindLocation): Likewise.
	(setValgrindVersion): Likewise.
	(getValgrindVersion): Likewise.

2009-05-27  Elliott Baron  <ebaron@redhat.com>

	* AbstractValgrindTest.java (setUp): Retrieve stub location and version and explicitly
	set them in real plugin.

2009-05-26  Elliott Baron  <ebaron@redhat.com>

	* ValgrindTestOptionsTab.java: Getters for new controls.

2009-04-30  Elliott Baron  <ebaron@redhat.com>

	* AbstractValgrindTest.java (getPlugin): New method.
	* ValgrindStubCommand.java (whichVersion): Just return 3.4.0 version string.
	* ValgrindTestLaunchPlugin.java (setCurrentLaunchConfiguration): Act as proxy to
	real launch plugin's instance.
	(getCurrentLaunchConfiguration): Likewise. 
	(getCurrentLaunch): Likewise.
	(setCurrentLaunch): Likewise.

2009-04-23  Elliott Baron  <ebaron@redhat.com>

	* ValgrindTestLaunchShortcut.java: Stub for testing Launch Shortcut.

2009-04-21  Elliott Baron  <ebaron@redhat.com>

	* ResourceChangePrinter.java: New file.
	* plugin.properties: Removed unused key.

2009-04-03  Elliott Baron  <ebaron@redhat.com>

	* ValgrindStubStreamsProxy.java: New file.
	* META-INF/MANIFEST.MF: 0.2.0 version.
	* ValgrindStubCommand.java (getProcess): Return null.
	* ValgrindStubProcess.java: Stub implementation of IProcess.
	* ValgrindTestLaunchDelegate.java (getValgrindCommand): No longer 
	passed exit code.
	(createNewProcess): Hook into ValgrindStubProcess.
	* ValgrindTestLaunchPlugin.java (getValgrindCommand): No longer 
	passed exit code.

2009-04-02  Elliott Baron  <ebaron@redhat.com>

	* ValgrindTestLaunchDelegate.java (getValgrindCommand): Reading error code
	must succeed.

2009-03-25  Elliott Baron  <ebaron@redhat.com>

	* ValgrindTestExportWizard.java: New file.
	* ValgrindTestExportWizardPage.java: New file.
	* AbstractValgrindTest.java (getPathToFiles): Extracted from doLaunch.

2009-03-19  Elliott Baron  <ebaron@redhat.com>

	* AbstractValgrindTest.java (doLaunch): Remove code that sets preferred delegate.
	* ValgrindTestsPlugin.java: DELEGATE_ID no longer used.

2009-03-18  Elliott Baron  <ebaron@redhat.com>

	* AbstractValgrindTest.java (createProjectAndBuild): Refactoring from profiling.tests.

2009-03-10  Elliott Baron  <ebaron@redhat.com>

	* plugin.xml: Removed.
	* ValgrindLaunchMockPlugin.java: Removed.
	* ValgrindMockCommand.java: Removed.
	* ValgrindMockProcess.java: Removed.
	* ValgrindStubCommand.java: Renamed from ValgrindMockCommand.
	* ValgrindStubProcess.java: Renamed from ValgrindMockProcess.
	* ValgrindTestLaunchPlugin.java: Renamed from ValgrindLaunchMockPlugin,
	now singleton. Load/store version number. No longer abstract.
	* build.properties: plugin.xml removed.
	* META-INF/MANIFEST.MF: Extension removed. Launch delegate directly.
	* AbstractValgrindTest.java: Initialize ValgrindTestLaunchPlugin in constructor,
	create and launch delegate instead of using LaunchManager.
	* ValgrindTestLaunchDelegate.java: Use singleton ValgrindTestLaunchPlugin.
	* ValgrindTestOptionsTab.java: Likewise.

2009-02-27  Elliott Baron  <ebaron@redhat.com>

	* AbstractValgrindTest.java: Added methods for binding and unbinding workspace
	and bundle locations. Output generated with template_ prefix.
	* ValgrindTestLaunchDelegate.java: Added new eclipse.valgrind.tests.generateFiles
	system property to control the generation of template_ files.
	* ValgrindTestsPlugin.java: Added new constants.
	
2009-02-25  Elliott Baron  <ebaron@redhat.com>

	* plugin.xml: Contribute launchDelegate.
	* AbstractValgrindTest.java: New file. Common methods.
	* ValgrindMockCommand.java: New file. For simulating valgrind run.
	* ValgrindMockProcess.java: New file. For simulating valgrind run.
	* ValgrindTestLaunchDelegate.java: New file. For simulating valgrind run.
	* build.properties: plugin.xml added.
	* META-INF/MANIFEST.MF: New dependencies.
	* ValgrindTestsPlugin.java: Added new constants.

2009-02-12  Elliott Baron  <ebaron@redhat.com>

	* .classpath: New file.
	* .settings/org.eclipse.jdt.core.prefs: New file.
	* ValgrindLaunchMockPlugin.java: New file.
	* ValgrindTestOptionsTab.java: New file.
	* ValgrindTestsPlugin.java: New file.
	* .project: Project -> Java nature.
	* build.properties: Likewise.
	* META-INF/MANIFEST.MF: Likewise.
	* plugin.properties: Likewise.

2009-01-05  Elliott Baron  <ebaron@redhat.com>

	* META-INF/MANIFEST.MF: Changed version to 0.1.0.

2008-12-18  Elliott Baron  <ebaron@redhat.com>

	* META-INF/MANIFEST.MF: Fixed string externalization.
	* plugin.properties: Likewise.
	* build.properties: Likewise.

2008-12-18  Andrew Overholt  <overholt@redhat.com>

	* test.xml: Typos.
	* build.properties: Add test.xml.

2008-12-17  Andrew Overholt  <overholt@redhat.com>

	* build.properties: Inital checkin.
	* test.xml: Likewise.
	* plugin.properties: Likewise.
	* about.html: Likewise.
	* META-INF/MANIFEST.MF: Likewise.
