1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-02 14:45:25 +02:00

fix for bug 333874

This commit is contained in:
Xuan Chen 2011-01-27 16:57:49 +00:00
parent 03b87be959
commit bdb90daffd
2 changed files with 44 additions and 1 deletions

View file

@ -7,6 +7,7 @@
*
* Contributors:
* Johnson Ma (Wind River) - [195402] Extracted from FileServiceArchiveTest
* Xuan Chen (IBM) [333874] - Added more logging code to track junit failure
*******************************************************************************/
package org.eclipse.rse.tests.subsystems.files;
@ -17,6 +18,7 @@ import org.eclipse.core.filesystem.IFileStore;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.rse.core.model.ISystemResourceSet;
import org.eclipse.rse.core.model.SystemRemoteResourceSet;
import org.eclipse.rse.core.model.SystemWorkspaceResourceSet;
@ -920,8 +922,10 @@ public abstract class FileServiceArchiveBaseTest extends FileServiceBaseTest {
//now, verify the content of the local file
IFileStore localFile = temp.getChild(fileContentToVerifyName1);
File actualFile = localFile.toLocalFile(EFS.NONE, new NullProgressMonitor());
assertTrue("The file does not exist", actualFile.exists());
//Check the content of the download file:
boolean sameContent = compareContent(getContents(fileContentString1), localFile.openInputStream(EFS.NONE, null));
boolean sameContent = compareContent1(getContents(fileContentString1), localFile.openInputStream(EFS.NONE, null));
assertTrue(sameContent);

View file

@ -13,6 +13,7 @@
* - <copied code from org.eclipse.core.tests.harness/CoreTest (C) IBM>
* Martin Oberhuber (Wind River) - [195402] Add constructor with test name
* David Dykstal (IBM) [230821] fix IRemoteFileSubSystem API to be consistent with IFileService
* Xuan Chen (IBM) [333874] - Added more logging code to track junit failure
*******************************************************************************/
package org.eclipse.rse.tests.subsystems.files;
@ -338,6 +339,44 @@ public class FileServiceBaseTest extends RSEBaseConnectionTestCase {
}
}
/**
* <copied code from org.eclipse.core.tests.resources/ResourceTest.java (C) IBM>
*
* Returns a boolean value indicating whether or not the contents
* of the given streams are considered to be equal. Closes both input streams.
* @param a input stream a
* @param b input stream b
* @return if both stream are consider to be equal
*/
public boolean compareContent1(InputStream a, InputStream b) {
int c, d;
if (a == null && b == null)
return true;
try {
if (a == null || b == null)
{
fail("only one of the input stream is null");
return false;
}
while ((c = a.read()) == (d = b.read()) && (c != -1 && d != -1)) {
//body not needed
}
if (c == -1 && d == -1)
{
return true;
}
String msg = "difference: c is " + c + " but d is " + d;
fail(msg);
return false;
} catch (IOException e) {
fail("IOException: " + e.getMessage());
return false;
} finally {
assertClose(a);
assertClose(b);
}
}
/**
* Copy the data from the input stream to the output stream.
* Close both streams when finished.