提交 a857ad29 编写于 作者: R Ryan Campbell

CauseOfBlockage from QueueTaskDispatcher was not being displayed in GUI (hover over item in queue)

上级 5587d13f
......@@ -1493,6 +1493,13 @@ public class Queue extends ResourceController implements Saveable {
return CauseOfBlockage.fromMessage(Messages._Queue_InProgress());
return CauseOfBlockage.fromMessage(Messages._Queue_BlockedBy(r.getDisplayName()));
}
for (QueueTaskDispatcher d : QueueTaskDispatcher.all()) {
CauseOfBlockage cause = d.canRun(this);
if (cause != null)
return cause;
}
return task.getCauseOfBlockage();
}
}
......
package hudson.model.queue;
import hudson.model.FreeStyleProject;
import hudson.model.Queue.Item;
import org.jvnet.hudson.test.HudsonTestCase;
public class QueueTaskDispatcherTest extends HudsonTestCase {
@SuppressWarnings("deprecation")
public void testCanRunBlockageIsDisplayed() throws Exception {
QueueTaskDispatcher.all().add(new QueueTaskDispatcher() {
@Override
public CauseOfBlockage canRun(Item item) {
return new CauseOfBlockage() {
@Override
public String getShortDescription() {
return "blocked by canRun";
}
};
}
});
FreeStyleProject project = createFreeStyleProject();
jenkins.getQueue().schedule(project);
Item item = jenkins.getQueue().getItem(project);
for (int i = 0; i < 4 * 60 && !item.isBlocked(); i++) {
Thread.sleep(250);
item = jenkins.getQueue().getItem(project);
}
assertTrue("Not blocked after 60 seconds", item.isBlocked());
assertEquals("Expected CauseOfBlockage to be returned", "blocked by canRun", item.getWhy());
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册