Program: 90223
Project: 90223
Buggy source:
public void testCopyto() throws Exception {
  HTTPRemoteFile rf=new ForceRemoteHTTPRemoteFile(TestInfo.FILE1,false,false,true);
  File tempFile=File.createTempFile("String_Node_Str","String_Node_Str",TestInfo.WORKING_DIR);
  rf.copyTo(tempFile);
  String contents=FileUtils.readFile(TestInfo.FILE1);
  assertEquals("String_Node_Str",contents,FileUtils.readFile(tempFile));
  assertTrue("String_Node_Str",TestInfo.FILE1.exists());
  File tempFile2=File.createTempFile("String_Node_Str","String_Node_Str",TestInfo.WORKING_DIR);
  rf.copyTo(tempFile2);
  assertEquals("String_Node_Str",contents,FileUtils.readFile(tempFile));
  assertTrue("String_Node_Str",TestInfo.FILE1.exists());
  rf=new ForceRemoteHTTPRemoteFile(TestInfo.FILE1,false,false,false);
  tempFile=File.createTempFile("String_Node_Str","String_Node_Str",TestInfo.WORKING_DIR);
  rf.copyTo(tempFile);
  assertEquals("String_Node_Str",contents,FileUtils.readFile(tempFile));
  assertTrue("String_Node_Str",TestInfo.FILE1.exists());
  tempFile2=File.createTempFile("String_Node_Str","String_Node_Str",TestInfo.WORKING_DIR);
  try {
    rf.copyTo(tempFile2);
    fail("String_Node_Str");
  }
 catch (  IOFailure e) {
  }
  rf=new ForceRemoteHTTPRemoteFile(TestInfo.FILE1,false,true,false);
  tempFile=File.createTempFile("String_Node_Str","String_Node_Str",TestInfo.WORKING_DIR);
  rf.copyTo(tempFile);
  assertEquals("String_Node_Str",contents,FileUtils.readFile(tempFile));
  assertFalse("String_Node_Str",TestInfo.FILE1.exists());
}

Fixed version (ground truth):
public void testCopyto() throws Exception {
  HTTPRemoteFile rf=new ForceRemoteHTTPRemoteFile(TestInfo.FILE1,false,false,true);
  File tempFile=File.createTempFile("String_Node_Str","String_Node_Str",TestInfo.WORKING_DIR);
  rf.copyTo(tempFile);
  String contents=FileUtils.readFile(TestInfo.FILE1);
  assertEquals("String_Node_Str",contents,FileUtils.readFile(tempFile));
  assertTrue("String_Node_Str",TestInfo.FILE1.exists());
  File tempFile2=File.createTempFile("String_Node_Str","String_Node_Str",TestInfo.WORKING_DIR);
  rf.copyTo(tempFile2);
  assertEquals("String_Node_Str",contents,FileUtils.readFile(tempFile));
  assertTrue("String_Node_Str",TestInfo.FILE1.exists());
  rf=new ForceRemoteHTTPRemoteFile(TestInfo.FILE1,false,false,false);
  tempFile=File.createTempFile("String_Node_Str","String_Node_Str",TestInfo.WORKING_DIR);
  rf.copyTo(tempFile);
  assertEquals("String_Node_Str",contents,FileUtils.readFile(tempFile));
  assertTrue("String_Node_Str",TestInfo.FILE1.exists());
  tempFile2=File.createTempFile("String_Node_Str","String_Node_Str",TestInfo.WORKING_DIR);
  try {
    rf.copyTo(tempFile2);
    fail("String_Node_Str");
  }
 catch (  IOFailure e) {
  }
  rf=new ForceRemoteHTTPRemoteFile(TestInfo.FILE1,false,true,false);
  tempFile=File.createTempFile("String_Node_Str","String_Node_Str",TestInfo.WORKING_DIR);
  rf.copyTo(tempFile);
  assertEquals("String_Node_Str",contents,FileUtils.readFile(tempFile));
  assertFalse("String_Node_Str",TestInfo.FILE1.exists());
  tempFile.renameTo(TestInfo.FILE1);
  rf=new ForceRemoteHTTPRemoteFile(TestInfo.FILE1,false,true,false);
  tempFile=new File("String_Node_Str");
  tempFile.deleteOnExit();
  rf.copyTo(tempFile);
  assertEquals("String_Node_Str",contents,FileUtils.readFile(tempFile));
  assertFalse("String_Node_Str",TestInfo.FILE1.exists());
  FileUtils.remove(tempFile);
}