-
Bug
-
Resolution: Fixed
-
Major
-
None
The current implementation calculates the trend graph in this way:
Time ----|--------|--------|--------|---------|----> FirstDate Build1 Build2 Build3 Today 2 tests 3 tests 4 tests Current graph would be like this: 9 |---------------------------| 5 |--------| 2--------| Instead it should be like this: 9 |------------------| 5 |--------| 2 |--------|
Looking at the source code this is much clear.
Run run = job.getFirstBuild(); if (run != null) { // execute only if job has builds LocalDate lastRunDay = new LocalDate(run.getTimestamp()); if (dateRange > 0 && firstDay.isAfter(lastRunDay)) { lastRunDay = new LocalDate().minusDays(dateRange); } while (run != null) { Run nextRun = run.getNextBuild(); LocalDate runDay = new LocalDate(run.getTimestamp()); if (nextRun != null) { if (runDay.isAfter(firstDay)) { // skip run before firstDay // if next run is the next day, use this test to summarize if (new LocalDate(nextRun.getTimestamp()).isAfter(runDay)) { // mambu: we compute the tests of runDay from lastRunDay to runDay // so in the past instead of computing from runDay to nextRunDay! summarize(summaries, run, lastRunDay, runDay); lastRunDay = runDay.plusDays(1); } } } else { // use this run's test result from last run to today summarize(summaries, run, lastRunDay, today); } run = nextRun; } }