Buggy code:
public abstract class AbstractComponentTest extends AbstractMyrmidonTest { private DefaultServiceManager m_serviceManager ; public static final String DATA_TYPE_ROLE = "data-type" ; public static final String CONVERTER_ROLE = "converter" ; public static final String SERVICE_FACTORY_ROLE = "service-factory" ; public AbstractComponentTest ( final String name ) { } protected final ServiceManager getServiceManager ( ) throws Exception { if ( ( m_serviceManager ) == null ) { Logger logger = getLogger ( ) ; m_serviceManager = new DefaultServiceManager ( ) ; List components = new ArrayList ( ) ; Object component = createComponent ( ROLE , DefaultMasterConverter . class ) ; m_serviceManager . put ( ROLE , component ) ; m_serviceManager . put ( ConverterRegistry . ROLE , component ) ; components . add ( component ) ; component = createComponent ( TypeManager . ROLE , DefaultTypeManager . class ) ; m_serviceManager . put ( TypeManager . ROLE , component ) ; components . add ( component ) ; component = createComponent ( Configurer . ROLE , DefaultConfigurer . class ) ; m_serviceManager . put ( Configurer . ROLE , component ) ; components . add ( component ) ; component = createComponent ( Deployer . ROLE , DefaultDeployer . class ) ; m_serviceManager . put ( Deployer . ROLE , component ) ; components . add ( component ) ; component = createComponent ( Executor . ROLE , DefaultExecutor . class ) ; m_serviceManager . put ( Executor . ROLE , component ) ; components . add ( component ) ; final DefaultClassLoaderManager classLoaderMgr = new DefaultClassLoaderManager ( ) ; <START_BUG> classLoaderMgr . setBaseClassLoader ( getClass ( ) . getClassLoader ( ) ) ; <END_BUG> m_serviceManager . put ( ClassLoaderManager . ROLE , classLoaderMgr ) ; components . add ( classLoaderMgr ) ; component = createComponent ( ExtensionManager . ROLE , DefaultExtensionManager . class ) ; m_serviceManager . put ( ExtensionManager . ROLE , component ) ; components . add ( component ) ; component = createComponent ( RoleManager . ROLE , DefaultRoleManager . class ) ; m_serviceManager . put ( RoleManager . ROLE , component ) ; components . add ( component ) ; component = createComponent ( PropertyResolver . ROLE , DefaultPropertyResolver . class ) ; m_serviceManager . put ( PropertyResolver . ROLE , component ) ; components . add ( component ) ; for ( Iterator iterator = components . iterator ( ) ; iterator . hasNext ( ) ; ) { Object obj = iterator . next ( ) ; if ( obj instanceof LogEnabled ) { final LogEnabled logEnabled = ( ( LogEnabled ) ( obj ) ) ; logEnabled . enableLogging ( logger ) ; } } for ( Iterator iterator = components . iterator ( ) ; iterator . hasNext ( ) ; ) { Object obj = iterator . next ( ) ; if ( obj instanceof Serviceable ) { final Serviceable serviceable = ( ( Serviceable ) ( obj ) ) ; serviceable . service ( m_serviceManager ) ; } } final RoleManager roleManager = ( ( RoleManager ) ( getServiceManager ( ) . lookup ( RoleManager . ROLE ) ) ) ; roleManager . addRole ( new RoleInfo ( DataType . ROLE , AbstractComponentTest . DATA_TYPE_ROLE , DataType . class ) ) ; roleManager . addRole ( new RoleInfo ( Converter . ROLE , AbstractComponentTest . CONVERTER_ROLE , Converter . class ) ) ; roleManager . addRole ( new RoleInfo ( ServiceFactory . ROLE , AbstractComponentTest . SERVICE_FACTORY_ROLE , ServiceFactory . class ) ) ; } return m_serviceManager ; } protected Object createComponent ( final String role , final Class defaultImpl ) throws Exception { } protected TypeManager getTypeManager ( ) throws Exception { } protected void registerRole ( final RoleInfo roleInfo ) throws Exception { } protected void registerType ( final String roleName , final String typeName , final Class type ) throws Exception { } protected void registerConverter ( final Class converterClass , final Class sourceClass , final Class destClass ) throws Exception { } }

Fix:
classLoaderMgr . setCommonClassLoader ( getClass ( ) . getClassLoader ( ) ) ;