Hi all
I’m working to gerrit-trigger-plugin on already pull request that does not pass anymore but for now I need to know why this code now generate this error:
java.lang.NullPointerException: Cannot invoke “hudson.ExtensionList.isEmpty()” because “strategies” is nullat
jenkins.model.queue.QueueIdStrategy.get(QueueIdStrategy.java:24)at
hudson.model.Queue$WaitingItem.(Queue.java:2566)at
com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTriggerTest$5.answer(GerritTriggerTest.java:2437)at
com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTriggerTest$5.answer(GerritTriggerTest.java:2433)at
org.mockito.internal.stubbing.StubbedInvocationMatcher.answer(StubbedInvocationMatcher.java:42)at
org.mockito.internal.handler.MockHandlerImpl.handle(MockHandlerImpl.java:103)at
org.mockito.internal.handler.NullResultGuardian.handle(NullResultGuardian.java:29)at
org.mockito.internal.handler.InvocationNotifierHandler.handle(InvocationNotifierHandler.java:34)at
org.mockito.internal.creation.bytebuddy.access.MockMethodInterceptor.doIntercept(MockMethodInterceptor.java:84)at
org.mockito.internal.creation.bytebuddy.MockMethodAdvice.handle(MockMethodAdvice.java:136)at hudson.model.Queue.schedule2(Queue.java:583)at
jenkins.model.ParameterizedJobMixIn.scheduleBuild2(ParameterizedJobMixIn.java:162)at
jenkins.model.ParameterizedJobMixIn.scheduleBuild2(ParameterizedJobMixIn.java:127)at
com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.EventListener.schedule(EventListener.java:327)at
com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.EventListener.schedule(EventListener.java:283)at
com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.EventListener.schedule(EventListener.java:256)at
com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.EventListener.gerritEvent(EventListener.java:135)
This the corresponding mock of the queue:
private static Queue mockQueue(Jenkins jenkins) {
Queue queue = mock(Queue.class);
when(jenkins.getQueue()).thenReturn(queue);
when(queue.schedule2(any(Queue.Task.class), anyInt(), anyList())).thenAnswer(new Answer<ScheduleResult>() {
@Override
public ScheduleResult answer(InvocationOnMock invocation) throws Throwable {
Object[] arguments = invocation.getArguments();
Queue.WaitingItem i = new Queue.WaitingItem(
new GregorianCalendar(), (Queue.Task)arguments[0], (List<Action>)arguments[2]);
return ScheduleResult.created(i);
}
});
return queue;
}
This was not happen before
This my re-pull:
And this one the original. I have rebased it and add one cleanup
Michael