diff --git a/core/src/main/java/jenkins/model/Jenkins.java b/core/src/main/java/jenkins/model/Jenkins.java index dc7342bf8e..b7a51f00ef 100644 --- a/core/src/main/java/jenkins/model/Jenkins.java +++ b/core/src/main/java/jenkins/model/Jenkins.java @@ -3292,7 +3292,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve for (Action a : getExtensionList(RootAction.class)) if (!actions.contains(a)) actions.add(a); - setupWizard = new SetupWizard(); + setupWizard = ExtensionList.lookupSingleton(SetupWizard.class); getInstallState().initializeState(); } }); diff --git a/test/src/test/java/jenkins/ExtensionFilterTest.java b/test/src/test/java/jenkins/ExtensionFilterTest.java index 54ae39b750..abc0a66b6a 100644 --- a/test/src/test/java/jenkins/ExtensionFilterTest.java +++ b/test/src/test/java/jenkins/ExtensionFilterTest.java @@ -1,10 +1,14 @@ package jenkins; +import static org.hamcrest.Matchers.hasSize; +import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import hudson.ExtensionComponent; import hudson.console.ConsoleAnnotatorFactory; import hudson.model.PageDecorator; +import jenkins.install.SetupWizard; +import org.hamcrest.Matchers; import org.junit.Rule; import org.junit.Test; import org.jvnet.hudson.test.JenkinsRule; @@ -20,7 +24,7 @@ public class ExtensionFilterTest { @Test public void filter() { - assertTrue(PageDecorator.all().isEmpty()); + assertThat(PageDecorator.all(), hasSize(1)); assertTrue(ConsoleAnnotatorFactory.all().isEmpty()); } @@ -28,10 +32,13 @@ public class ExtensionFilterTest { public static class Impl extends ExtensionFilter { @Override public boolean allows(Class type, ExtensionComponent component) { - if (type==ConsoleAnnotatorFactory.class) + if (type == ConsoleAnnotatorFactory.class) { return false; - if (component.isDescriptorOf(PageDecorator.class)) + } + // SetupWizard is required during startup + if (component.isDescriptorOf(PageDecorator.class) && !component.isDescriptorOf(SetupWizard.class)) { return false; + } return true; } }