Buggy code:
public class UndertowSubsystemTestCase extends AbstractSubsystemBaseTest { public UndertowSubsystemTestCase ( ) { } @ Override protected String getSubsystemXml ( ) throws IOException { } @ Test public void testRuntime ( ) throws Exception { System . setProperty ( "server.data.dir" , System . getProperty ( "java.io.tmpdir" ) ) ; System . setProperty ( "jboss.home.dir" , System . getProperty ( "java.io.tmpdir" ) ) ; System . setProperty ( "jboss.home.dir" , System . getProperty ( "java.io.tmpdir" ) ) ; System . setProperty ( "jboss.server.server.dir" , System . getProperty ( "java.io.tmpdir" ) ) ; KernelServicesBuilder builder = createKernelServicesBuilder ( new AdditionalInitialization ( ) { @ Override protected void addExtraServices ( ServiceTarget target ) { super . addExtraServices ( target ) ; target . addService ( JBOSS_SERVICE_MODULE_LOADER , new ServiceModuleLoader ( null ) ) . install ( ) ; } } ) . setSubsystemXml ( getSubsystemXml ( ) ) ; KernelServices mainServices = builder . build ( ) ; if ( ! ( mainServices . isSuccessfulBoot ( ) ) ) { Assert . fail ( mainServices . getBootError ( ) . toString ( ) ) ; } ServiceController < FilterService > connectionLimiter = ( ( ServiceController < FilterService > ) ( mainServices . getContainer ( ) . getService ( FILTER . append ( "limit-connections" ) ) ) ) ; connectionLimiter . setMode ( ACTIVE ) ; FilterService connectionLimiterService = connectionLimiter . getService ( ) . getValue ( ) ; HttpHandler result = connectionLimiterService . createHttpHandler ( new PathHandler ( ) ) ; Assert . assertNotNull ( "handler<seq2seq4repair_space>should<seq2seq4repair_space>have<seq2seq4repair_space>been<seq2seq4repair_space>created" , result ) ; ServiceController < FilterService > headersFilter = ( ( ServiceController < FilterService > ) ( mainServices . getContainer ( ) . getService ( FILTER . append ( "headers" ) ) ) ) ; headersFilter . setMode ( ACTIVE ) ; FilterService headersService = headersFilter . getService ( ) . getValue ( ) ; HttpHandler headerHandler = headersService . createHttpHandler ( new PathHandler ( ) ) ; Assert . assertNotNull ( "handler<seq2seq4repair_space>should<seq2seq4repair_space>have<seq2seq4repair_space>been<seq2seq4repair_space>created" , headerHandler ) ; final ServiceName hostServiceName = UndertowService . virtualHostName ( "default-server" , "other-host" ) ; ServiceController < Host > hostSC = ( ( ServiceController < Host > ) ( mainServices . getContainer ( ) . getService ( hostServiceName ) ) ) ; Assert . assertNotNull ( hostSC ) ; hostSC . setMode ( ACTIVE ) ; Host host = hostSC . getValue ( ) ; Assert . assertEquals ( 1 , host . getInjectedFilters ( ) . size ( ) ) ; final ServiceName locationServiceName = UndertowService . locationServiceName ( "default-server" , "default-host" , "//" ) ; ServiceController < LocationService > locationSC = ( ( ServiceController < LocationService > ) ( mainServices . getContainer ( ) . getService ( locationServiceName ) ) ) ; Assert . assertNotNull ( locationSC ) ; locationSC . setMode ( ACTIVE ) ; LocationService locationService = locationSC . getValue ( ) ; Assert . assertNotNull ( locationService ) ; connectionLimiter . setMode ( REMOVE ) ; final ServiceName jspServiceName = SERVLET_CONTAINER . append ( "myContainer" ) ; ServiceController < ServletContainerService > jspServiceServiceController = ( ( ServiceController < ServletContainerService > ) ( mainServices . getContainer ( ) . getService ( jspServiceName ) ) ) ; Assert . assertNotNull ( jspServiceServiceController ) ; JSPConfig jspConfig = jspServiceServiceController . getService ( ) . getValue ( ) . getJspConfig ( ) ; Assert . assertNotNull ( jspConfig ) ; <START_BUG> Assert . assertNotNull ( jspConfig . getJSPServletInfo ( ) ) ; <END_BUG> } @ Override protected AdditionalInitialization createAdditionalInitialization ( ) { } }

Fix:
Assert . assertNotNull ( jspConfig . createJSPServletInfo ( ) ) ;