Program: 30623
Project: 30623
Buggy source:
/** 
 * woot This test utility takes a libraryParamsFile and generates output sam files through IlluminaBasecallsToSam to compare against preloaded test data
 * @param jobName
 * @param libraryParamsFile
 * @param concatNColumnFields
 * @param readStructure
 * @throws Exception
 */
private void runStandardTest(final int lane,final String jobName,final String libraryParamsFile,final int concatNColumnFields,final String readStructure) throws Exception {
  final File outputDir=File.createTempFile(jobName,"String_Node_Str");
  outputDir.delete();
  outputDir.mkdir();
  outputDir.deleteOnExit();
  final File libraryParams=new File(outputDir,libraryParamsFile);
  libraryParams.deleteOnExit();
  final List<File> samFiles=new ArrayList<File>();
  final LineReader reader=new BufferedLineReader(new FileInputStream(new File(TEST_DATA_DIR,libraryParamsFile)));
  final PrintWriter writer=new PrintWriter(libraryParams);
  final String header=reader.readLine();
  writer.println(header + "String_Node_Str");
  while (true) {
    final String line=reader.readLine();
    if (line == null) {
      break;
    }
    final String[] fields=line.split("String_Node_Str");
    final File outputSam=new File(outputDir,StringUtil.join("String_Node_Str",Arrays.copyOfRange(fields,0,concatNColumnFields)) + "String_Node_Str");
    outputSam.deleteOnExit();
    samFiles.add(outputSam);
    writer.println(line + "String_Node_Str" + outputSam);
  }
  writer.close();
  new IlluminaBasecallsToSam().instanceMain(new String[]{"String_Node_Str" + BASECALLS_DIR,"String_Node_Str" + lane,"String_Node_Str","String_Node_Str" + readStructure,"String_Node_Str" + libraryParams});
  for (  final File outputSam : samFiles) {
    IoUtil.assertFilesEqual(outputSam,new File(TEST_DATA_DIR,outputSam.getName()));
  }
}

Fixed version (ground truth):
/** 
 * This test utility takes a libraryParamsFile and generates output sam files through IlluminaBasecallsToSam to compare against preloaded test data
 * @param jobName
 * @param libraryParamsFile
 * @param concatNColumnFields
 * @param readStructure
 * @throws Exception
 */
private void runStandardTest(final int lane,final String jobName,final String libraryParamsFile,final int concatNColumnFields,final String readStructure) throws Exception {
  final File outputDir=File.createTempFile(jobName,"String_Node_Str");
  outputDir.delete();
  outputDir.mkdir();
  outputDir.deleteOnExit();
  final File libraryParams=new File(outputDir,libraryParamsFile);
  libraryParams.deleteOnExit();
  final List<File> samFiles=new ArrayList<File>();
  final LineReader reader=new BufferedLineReader(new FileInputStream(new File(TEST_DATA_DIR,libraryParamsFile)));
  final PrintWriter writer=new PrintWriter(libraryParams);
  final String header=reader.readLine();
  writer.println(header + "String_Node_Str");
  while (true) {
    final String line=reader.readLine();
    if (line == null) {
      break;
    }
    final String[] fields=line.split("String_Node_Str");
    final File outputSam=new File(outputDir,StringUtil.join("String_Node_Str",Arrays.copyOfRange(fields,0,concatNColumnFields)) + "String_Node_Str");
    outputSam.deleteOnExit();
    samFiles.add(outputSam);
    writer.println(line + "String_Node_Str" + outputSam);
  }
  writer.close();
  new IlluminaBasecallsToSam().instanceMain(new String[]{"String_Node_Str" + BASECALLS_DIR,"String_Node_Str" + lane,"String_Node_Str","String_Node_Str" + readStructure,"String_Node_Str" + libraryParams});
  for (  final File outputSam : samFiles) {
    IoUtil.assertFilesEqual(outputSam,new File(TEST_DATA_DIR,outputSam.getName()));
  }
}