Skip to content
Permalink
Browse files

[FIXED JENKINS-23945] Test result trend graph should not load builds …

…which were not already loaded.

(cherry picked from commit 0449883)

Conflicts:
	changelog.html
  • Loading branch information
jglick committed Aug 7, 2014
1 parent 2cdf105 commit 8ea7995813a25b3d0231730ffcac4855891a3fbf
Showing with 6 additions and 4 deletions.
  1. +6 −4 core/src/main/java/hudson/tasks/test/AbstractTestResultAction.java
@@ -33,6 +33,7 @@
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import jenkins.model.RunAction2;
import org.jfree.chart.ChartFactory;
@@ -167,13 +168,14 @@ public Api getApi() {
* Gets the test result of the previous build, if it's recorded, or null.
*/
public T getPreviousResult() {
return (T)getPreviousResult(getClass());
return (T)getPreviousResult(getClass(), true);
}

private <U extends AbstractTestResultAction> U getPreviousResult(Class<U> type) {
private <U extends AbstractTestResultAction> U getPreviousResult(Class<U> type, boolean eager) {
Set<Integer> loadedBuilds = eager ? null : owner.getProject()._getRuns().getLoadedBuilds().keySet();
AbstractBuild<?,?> b = owner;
while(true) {
b = b.getPreviousBuild();
b = eager || loadedBuilds.contains(b.number - /* assuming there are no gaps */1) ? b.getPreviousBuild() : null;
if(b==null)
return null;
U r = b.getAction(type);
@@ -256,7 +258,7 @@ private CategoryDataset buildDataSet(StaplerRequest req) {

DataSetBuilder<String,NumberOnlyBuildLabel> dsb = new DataSetBuilder<String,NumberOnlyBuildLabel>();

for( AbstractTestResultAction<?> a=this; a!=null; a=a.getPreviousResult(AbstractTestResultAction.class) ) {
for (AbstractTestResultAction<?> a = this; a != null; a = a.getPreviousResult(AbstractTestResultAction.class, false)) {
dsb.add( a.getFailCount(), "failed", new NumberOnlyBuildLabel(a.owner));
if(!failureOnly) {
dsb.add( a.getSkipCount(), "skipped", new NumberOnlyBuildLabel(a.owner));

0 comments on commit 8ea7995

Please sign in to comment.
You can’t perform that action at this time.