Program: 25264
Project: 25264
Buggy source:
/** 
 * Private method used by testScannedPathsMultipleJarGlobOrder. Creates temp dir structure with files. Dir structure created: sourceDirPath/tempfiles/tempdata_a.jar sourceDirPath/tempfiles/tempdata_c.jar sourceDirPath/tempfiles/dir1/tempdata_a.jar sourceDirPath/tempfiles/dir1/tempdata_b.jar sourceDirPath/tempfiles/dir1/tempdata_c.data sourceDirPath/tempfiles/dir2/tempdata_a.data sourceDirPath/tempfiles/dir2/tempdata_b.data sourceDirPath/tempfiles/dir2/tempdata_c.jar sourceDirPath/tempfiles/dir3/tempdata_a.jar sourceDirPath/tempfiles/dir3/tempdata_b.data sourceDirPath/tempfiles/dir3/tempdata_c-duplicate.jar sourceDirPath/tempfiles/dir3/tempdata_c.jar // Additional regex checks for regex in jar_order/glob_order sourceDirPath/tempfiles/dir3/innerDirA/inceptionLevel2/tempdata_c.jar sourceDirPath/tempfiles/dir3/innerDirA/inceptionLevel2/tempdata_c-duplicate.jar sourceDirPath/tempfiles/dir3/innerDirB/inceptionLevel2/tempdata_c-duplicate-2.jar
 * @param sourceDirPath
 */
private void createTempDirStructure1(String sourceDirPath){
  File jarFile=null, globFile=null;
  String filenameA, filenameB, filenameC;
  String tempPath=sourceDirPath + "String_Node_Str";
  FileUtils.deleteQuietly(new File(tempPath));
  String jarExtension="String_Node_Str";
  String dataExtension="String_Node_Str";
  String dir1="String_Node_Str", dir2="String_Node_Str", dir3="String_Node_Str";
  filenameA="String_Node_Str";
  filenameB="String_Node_Str";
  filenameC="String_Node_Str";
  PrintWriter writer;
  try {
    createNewPath(tempPath,filenameC,jarExtension);
    createNewPath(tempPath,filenameA,jarExtension);
    createNewPath(tempPath,dir1,filenameA,jarExtension);
    createNewPath(tempPath,dir1,filenameB,jarExtension);
    createNewPath(tempPath,dir1,filenameC,dataExtension);
    createNewPath(tempPath,dir2,filenameA,dataExtension);
    createNewPath(tempPath,dir2,filenameB,dataExtension);
    createNewPath(tempPath,dir2,filenameC,jarExtension);
    createNewPath(tempPath,dir3,filenameA,jarExtension);
    createNewPath(tempPath,dir3,filenameB,dataExtension);
    createNewPath(tempPath,dir3,filenameC,jarExtension);
    createNewPath(tempPath,dir3,filenameC,"String_Node_Str",jarExtension);
    createNewPath(tempPath,dir3,"String_Node_Str",filenameC,jarExtension);
    createNewPath(tempPath,dir3,"String_Node_Str",filenameC,"String_Node_Str",jarExtension);
    createNewPath(tempPath,dir3,"String_Node_Str",filenameC,"String_Node_Str",jarExtension);
    jarFile=createNewPath(tempPath,dir1,"String_Node_Str");
    writer=new PrintWriter(jarFile,"String_Node_Str");
    writer.println(filenameB + jarExtension);
    writer.println(filenameA + jarExtension);
    writer.close();
    jarFile=createNewPath(tempPath,dir2,"String_Node_Str");
    writer=new PrintWriter(jarFile,"String_Node_Str");
    writer.println(filenameC + jarExtension);
    writer.close();
    jarFile=createNewPath(tempPath,dir3,"String_Node_Str");
    writer=new PrintWriter(jarFile,"String_Node_Str");
    writer.println(filenameC + "String_Node_Str" + jarExtension);
    writer.println(filenameA + jarExtension);
    writer.close();
    globFile=createNewPath(tempPath,dir1,"String_Node_Str");
    writer=new PrintWriter(globFile,"String_Node_Str");
    writer.println(filenameC + dataExtension);
    writer.println(filenameB + jarExtension);
    writer.println(filenameA + jarExtension);
    writer.close();
    globFile=createNewPath(tempPath,dir3,"String_Node_Str");
    writer=new PrintWriter(globFile,"String_Node_Str");
    writer.println(filenameC + jarExtension);
    writer.println(filenameC + "String_Node_Str" + jarExtension);
    writer.println("String_Node_Str" + filenameC + "String_Node_Str"+ jarExtension);
    writer.close();
  }
 catch (  Exception ex) {
    Assert.fail("String_Node_Str" + ex.getMessage());
  }
}

Fixed version (ground truth):
/** 
 * Private method used by testScannedPathsMultipleJarGlobOrder. Creates temp dir structure with files. Dir structure created: sourceDirPath/tempfiles/tempdata_a.jar sourceDirPath/tempfiles/tempdata_c.jar sourceDirPath/tempfiles/dir1/tempdata_a.jar sourceDirPath/tempfiles + "-duplicate"/dir1/tempdata_b.jar sourceDirPath/tempfiles/dir1/tempdata_c.data sourceDirPath/tempfiles/dir2/tempdata_a.data sourceDirPath/tempfiles/dir2/tempdata_b.data sourceDirPath/tempfiles/dir2/tempdata_c.jar sourceDirPath/tempfiles/dir3/tempdata_a.jar sourceDirPath/tempfiles/dir3/tempdata_b.data sourceDirPath/tempfiles/dir3/tempdata_c-duplicate.jar sourceDirPath/tempfiles/dir3/tempdata_c.jar // Additional regex checks for regex in jar_order/glob_order sourceDirPath/tempfiles/dir3/innerDirA/inceptionLevel2/tempdata_c.jar sourceDirPath/tempfiles/dir3/innerDirA/inceptionLevel2/tempdata_c-duplicate.jar sourceDirPath/tempfiles/dir3/innerDirB/inceptionLevel2/tempdata_c-duplicate-2.jar
 * @param sourceDirPath
 */
private void createTempDirStructure1(String sourceDirPath){
  File jarFile, globFile;
  String filenameA, filenameB, filenameC;
  String tempPath=sourceDirPath + "String_Node_Str";
  FileUtils.deleteQuietly(new File(tempPath));
  String jarExtension="String_Node_Str";
  String dataExtension="String_Node_Str";
  String dir1="String_Node_Str", dir2="String_Node_Str", dir3="String_Node_Str";
  filenameA="String_Node_Str";
  filenameB="String_Node_Str";
  filenameC="String_Node_Str";
  PrintWriter writer;
  try {
    createNewPath(tempPath,filenameC,jarExtension);
    createNewPath(tempPath,filenameA,jarExtension);
    createNewPath(tempPath,dir1,filenameA,jarExtension);
    createNewPath(tempPath,dir1,filenameB,jarExtension);
    createNewPath(tempPath,dir1,filenameC,dataExtension);
    createNewPath(tempPath,dir2,filenameA,dataExtension);
    createNewPath(tempPath,dir2,filenameB,dataExtension);
    createNewPath(tempPath,dir2,filenameC,jarExtension);
    createNewPath(tempPath,dir3,filenameA,jarExtension);
    createNewPath(tempPath,dir3,filenameB,dataExtension);
    createNewPath(tempPath,dir3,filenameC,jarExtension);
    createNewPath(tempPath,dir3,filenameC,"String_Node_Str",jarExtension);
    createNewPath(tempPath,dir3,"String_Node_Str",filenameC,jarExtension);
    createNewPath(tempPath,dir3,"String_Node_Str",filenameC,"String_Node_Str",jarExtension);
    createNewPath(tempPath,dir3,"String_Node_Str",filenameC,"String_Node_Str",jarExtension);
    jarFile=createNewPath(tempPath,dir1,"String_Node_Str");
    writer=new PrintWriter(jarFile,"String_Node_Str");
    writer.println(filenameB + jarExtension);
    writer.println(filenameA + jarExtension);
    writer.close();
    jarFile=createNewPath(tempPath,dir2,"String_Node_Str");
    writer=new PrintWriter(jarFile,"String_Node_Str");
    writer.println(filenameC + jarExtension);
    writer.close();
    jarFile=createNewPath(tempPath,dir3,"String_Node_Str");
    writer=new PrintWriter(jarFile,"String_Node_Str");
    writer.println(filenameC + "String_Node_Str" + jarExtension);
    writer.println(filenameA + jarExtension);
    writer.close();
    globFile=createNewPath(tempPath,dir1,"String_Node_Str");
    writer=new PrintWriter(globFile,"String_Node_Str");
    writer.println(filenameC + dataExtension);
    writer.println(filenameB + jarExtension);
    writer.println(filenameA + jarExtension);
    writer.close();
    globFile=createNewPath(tempPath,dir3,"String_Node_Str");
    writer=new PrintWriter(globFile,"String_Node_Str");
    writer.println(filenameC + jarExtension);
    writer.println(filenameC + "String_Node_Str" + jarExtension);
    writer.println("String_Node_Str" + filenameC + "String_Node_Str"+ jarExtension);
    writer.close();
  }
 catch (  Exception ex) {
    Assert.fail("String_Node_Str" + ex.getMessage());
  }
}