Program: 59821
Project: 59821
Buggy source:
@Test public void basicTest() throws Exception {
  Random r=new Random();
  ChartDestination dst=new ChartDestination();
  dst.setAttributes("String_Node_Str");
  dst.setXAxis("String_Node_Str");
  dst.setYAxis("String_Node_Str");
  dst.setGroup("String_Node_Str");
  dst.setName("String_Node_Str");
  dst.setxAxisType(PeriodType.TIME);
  String tempDir=TestSetup.createTempDir("String_Node_Str");
  dst.setOutputDir(tempDir);
  dst.open();
  Measurement m;
  Double d, avg=0d;
  boolean warmUp=true;
  for (int i=1, j=1; i <= 100; i++, j++) {
    if (warmUp && r.nextInt(100 - i) < 10) {
      warmUp=false;
      j=1;
    }
    m=new Measurement(j * 10,j * 1000,(j * 100) + r.nextInt(100));
    d=r.nextDouble() * 100d;
    avg=avg + d;
    m.set(new Quantity<>(d,"String_Node_Str"));
    m.set("String_Node_Str",new Quantity<>(avg / i,"String_Node_Str"));
    m.set("String_Node_Str",warmUp);
    dst.report(m);
  }
  dst.close();
  final Path dir=Paths.get(tempDir);
  Assert.assertTrue(dir.resolve(Paths.get("String_Node_Str","String_Node_Str" + System.getProperty(PerfCakeConst.NICE_TIMESTAMP_PROPERTY) + "String_Node_Str")).toFile().exists());
  Assert.assertTrue(dir.resolve(Paths.get("String_Node_Str","String_Node_Str" + System.getProperty(PerfCakeConst.NICE_TIMESTAMP_PROPERTY) + "String_Node_Str")).toFile().exists());
  Assert.assertTrue(dir.resolve(Paths.get("String_Node_Str","String_Node_Str" + System.getProperty(PerfCakeConst.NICE_TIMESTAMP_PROPERTY) + "String_Node_Str")).toFile().exists());
  final C3ChartData data1=new C3ChartData("String_Node_Str" + System.getProperty(PerfCakeConst.NICE_TIMESTAMP_PROPERTY),dir);
  Assert.assertEquals(data1.getData().get(0).size(),5);
  final C3ChartDataFile desc=new C3ChartDataFile(dir,"String_Node_Str" + System.getProperty(PerfCakeConst.NICE_TIMESTAMP_PROPERTY));
  Assert.assertEquals(desc.getChart().getBaseName(),"String_Node_Str" + System.getProperty(PerfCakeConst.NICE_TIMESTAMP_PROPERTY));
  Assert.assertEquals(desc.getChart().getName(),dst.getName());
  Assert.assertEquals(desc.getChart().getGroup(),dst.getGroup());
  Assert.assertEquals(desc.getChart().getxAxis(),dst.getXAxis());
  Assert.assertEquals(desc.getChart().getyAxis(),dst.getYAxis());
  Assert.assertEquals(desc.getChart().getxAxisType(),dst.getxAxisType());
}

Fixed version (ground truth):
@Test public void basicTest() throws Exception {
  Random r=new Random();
  ChartDestination dst=new ChartDestination();
  dst.setAttributes("String_Node_Str");
  dst.setXAxis("String_Node_Str");
  dst.setYAxis("String_Node_Str");
  dst.setGroup("String_Node_Str");
  dst.setName("String_Node_Str");
  dst.setxAxisType(PeriodType.TIME);
  String tempDir=TestSetup.createTempDir("String_Node_Str");
  dst.setOutputDir(tempDir);
  dst.open();
  Measurement m;
  Double d, avg=0d;
  boolean warmUp=true;
  for (int i=1, j=1; i <= 100; i++, j++) {
    if (warmUp && r.nextInt(100 - i) < 10) {
      warmUp=false;
      j=1;
    }
    m=new Measurement(j * 10,j * 1000,(j * 100) + r.nextInt(100));
    d=r.nextDouble() * 100d;
    avg=avg + d;
    m.set(new Quantity<>(d,"String_Node_Str"));
    m.set("String_Node_Str",new Quantity<>(avg / i,"String_Node_Str"));
    m.set("String_Node_Str",warmUp);
    dst.report(m);
  }
  dst.close();
  final Path dir=Paths.get(tempDir);
  Assert.assertTrue(dir.resolve(Paths.get("String_Node_Str","String_Node_Str" + System.getProperty(PerfCakeConst.NICE_TIMESTAMP_PROPERTY) + "String_Node_Str")).toFile().exists());
  Assert.assertTrue(dir.resolve(Paths.get("String_Node_Str","String_Node_Str" + System.getProperty(PerfCakeConst.NICE_TIMESTAMP_PROPERTY) + "String_Node_Str")).toFile().exists());
  Assert.assertTrue(dir.resolve(Paths.get("String_Node_Str","String_Node_Str" + System.getProperty(PerfCakeConst.NICE_TIMESTAMP_PROPERTY) + "String_Node_Str")).toFile().exists());
  final C3ChartData data1=new C3ChartData("String_Node_Str" + System.getProperty(PerfCakeConst.NICE_TIMESTAMP_PROPERTY),dir);
  Assert.assertEquals(data1.getData().get(0).size(),5);
  final C3ChartDataFile desc=new C3ChartDataFile(dir,"String_Node_Str" + System.getProperty(PerfCakeConst.NICE_TIMESTAMP_PROPERTY));
  Assert.assertEquals(desc.getChart().getBaseName(),"String_Node_Str" + System.getProperty(PerfCakeConst.NICE_TIMESTAMP_PROPERTY));
  Assert.assertEquals(desc.getChart().getName(),dst.getName());
  Assert.assertEquals(desc.getChart().getGroup(),dst.getGroup());
  Assert.assertEquals(desc.getChart().getxAxis(),dst.getxAxis());
  Assert.assertEquals(desc.getChart().getyAxis(),dst.getyAxis());
  Assert.assertEquals(desc.getChart().getxAxisType(),dst.getxAxisType());
}