Bug 325617 - Kernel build unit test coverage is below 70%
Summary: Kernel build unit test coverage is below 70%
Status: NEW
Alias: None
Product: Virgo
Classification: RT
Component: unknown (show other bugs)
Version: unspecified   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted, test
Depends on: 325840 325871 357473
Blocks:
  Show dependency tree
 
Reported: 2010-09-17 12:07 EDT by Steve Powell CLA
Modified: 2015-06-03 05:18 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Steve Powell CLA 2010-09-17 12:07:01 EDT
Automatic build test coverage for the kernel is currently about 50%.  Contributions vary in the coverage they introduce -- most are good.  It needs special effort to improve coverage and to keep it high.  We invite explicit test contributions that improve our build test coverage.

This bugzilla will remain open until the overall coverage of the org.eclipse.virgo.kernel repository projects exceeds 70%.

It is set to normal priority because this level of coverage ought to be normal practice, so this is counted as a NORMAL defect.  If the coverage drops significantly the severity of the bug might be raised.

Coverage measurement may be performed by anyone with a Clover licence who can run the clover target of the standard build.

PLEASE RAISE DISTINCT BUGZILLAs FOR CONTRIBUTIONS TO TESTS AND ADD A COMMENT HERE TO HELP TRACK THEM AND TRIGGER A PROGRESS CHECK.
Comment 1 Hristo Iliev CLA 2010-09-17 12:19:06 EDT
Is there a list with files that has 0% coverage? 

That would be a good starting point since covering those files will have big impact on the overall coverage numbers.
Comment 2 Steve Powell CLA 2010-09-17 12:35:54 EDT
Here is the current package list in order of coverage, from least to greatest:

org.eclipse.virgo.kernel.agent.dm     1     1.62     0%    
org.eclipse.virgo.kernel.artifact.fs     4     2     0%    
org.eclipse.virgo.kernel.artifact.library.internal     1     1.38     0%    
org.eclipse.virgo.kernel.deployer.core.event     16     1.19     0%    
org.eclipse.virgo.kernel.deployer.model     4     1     0%    
org.eclipse.virgo.kernel.deployer.model.internal     1     1.47     0%    
org.eclipse.virgo.kernel.dmfragment.internal     11     1.54     0%    
org.eclipse.virgo.kernel.install.pipeline.stage.resolve.internal     4     1.9 
   0%    
org.eclipse.virgo.kernel.install.pipeline.stage.visit.internal     1     1.25  
  0%    
org.eclipse.virgo.kernel.management     2     1.5     0%    
org.eclipse.virgo.kernel.management.internal     1     1     0%    
org.eclipse.virgo.kernel.management.internal.system     12     1.12     0%    
org.eclipse.virgo.kernel.model.management     6     1     0%    
org.eclipse.virgo.kernel.module     12     1     0%    
org.eclipse.virgo.kernel.module.internal     1     1.67     0%    
org.eclipse.virgo.kernel.osgi.framework     18     1.3     0%    
org.eclipse.virgo.kernel.osgi.framework.support     2     1.14     0%    
org.eclipse.virgo.kernel.osgi.region.eventlog     1     1     0%    
org.eclipse.virgo.kernel.osgicommand     1     2.8     0%    
org.eclipse.virgo.kernel.osgicommand.internal     1     1.43     0%    
org.eclipse.virgo.kernel.osgicommand.internal.commands.classloading     1     3
    0%    
org.eclipse.virgo.kernel.services.concurrent.diagnostics     1     1     0%    
org.eclipse.virgo.kernel.shim.serviceability.internal     1     1     0%    
org.eclipse.virgo.kernel.stubs     4     1.09     0%    
org.eclipse.virgo.kernel.shim.scope.internal     1     1.68     0.8%    
org.eclipse.virgo.kernel.install.artifact.internal.scoping     3     2.11    
7%    
org.eclipse.virgo.kernel.install.environment.internal     3     1.13     15.7%  
org.eclipse.virgo.kernel.shell.internal     20     2.04     20.3%    
org.eclipse.virgo.kernel.shell.internal.commands     11     1.86     22.1%    
org.eclipse.virgo.kernel.install.artifact.internal.bundle     9     1.94    
27.4%    
org.eclipse.virgo.kernel.services.concurrent.management     3     1.91    
28.1%    
org.eclipse.virgo.kernel.deployer.management     2     1.22     30%    
org.eclipse.virgo.kernel.deployer.core.internal     17     1.66     30.2%    
org.eclipse.virgo.kernel.artifact.fs.internal     3     1.79     32.6%    
org.eclipse.virgo.kernel.shell.internal.formatting     8     2.21     34.1%    
org.eclipse.virgo.kernel.shell.internal.completers     10     2.34     35.1%    
org.eclipse.virgo.kernel.shell.internal.converters     4     2     35.5%    
org.eclipse.virgo.kernel.osgi.common     1     2.25     36.5%    
org.eclipse.virgo.kernel.deployer.core     9     1.53     42.1%    
org.eclipse.virgo.kernel.install.artifact.internal     31     1.76     42.4%    
org.eclipse.virgo.kernel.deployer.app.spring     3     1.73     47.1%    
org.eclipse.virgo.kernel.userregion.internal     7     1.68     48.1%    
org.eclipse.virgo.kernel.shell.state.internal     5     1.7     48.6%    
org.eclipse.virgo.kernel.shell.internal.parsing     2     2.25     55.1%    
org.eclipse.virgo.kernel.model.management.internal     6     1.35     55.9%    
org.eclipse.virgo.kernel.userregion.internal.quasi     14     2.14     56.6%    
org.eclipse.virgo.kernel.deployer.core.internal.recovery     3     1.83    
59.3%    
org.eclipse.virgo.kernel.services.concurrent.monitor     2     2.27     59.4%   
org.eclipse.virgo.kernel.install.artifact     12     1.27     65.1%    
org.eclipse.virgo.kernel.agent.dm.internal     4     1.69     66.7%    
org.eclipse.virgo.kernel.core     8     1.3     66.7%    
org.eclipse.virgo.kernel.install.pipeline.stage     3     2     66.7%    
org.eclipse.virgo.kernel.userregion.internal.equinox     15     1.83     67.2%  
org.eclipse.virgo.kernel.artifact.plan.internal     2     1.2     68.4%    
org.eclipse.virgo.kernel.authentication     5     2.18     69.2%    
org.eclipse.virgo.kernel.deployer.core.internal.uri     3     2.25     71.2%    
org.eclipse.virgo.kernel.services.repository.internal     2     1.29     72.9%  
org.eclipse.virgo.kernel.osgi.region     4     1.63     73.6%    
org.eclipse.virgo.kernel.shell.model.helper     6     2.48     73.6%    
org.eclipse.virgo.kernel.deployer.hot     4     2     74%    
org.eclipse.virgo.kernel.osgicommand.helper     1     3.4     75.3%    
org.eclipse.virgo.kernel.userregion.internal.importexpansion     12     2.16   
 76.4%    
org.eclipse.virgo.kernel.shell.internal.help     2     3.14     77.4%    
org.eclipse.virgo.kernel.artifact.bundle     1     2.88     78.3%    
org.eclipse.virgo.kernel.model.internal.deployer     6     1.79     80.5%    
org.eclipse.virgo.kernel.model.internal.bundle     4     2     80.9%    
org.eclipse.virgo.kernel.core.internal     9     1.97     81%    
org.eclipse.virgo.kernel.install.pipeline.internal     3     1.88     82.5%    
org.eclipse.virgo.kernel.artifact.library     2     1.83     82.6%    
org.eclipse.virgo.kernel.config.internal     10     1.65     83.2%    
org.eclipse.virgo.kernel.deployer     4     1     83.3%    
org.eclipse.virgo.kernel.shell.internal.util     1     1.33     83.3%    
org.eclipse.virgo.kernel.services.concurrent     10     1.08     85.7%    
org.eclipse.virgo.kernel.install.pipeline.stage.transform.internal     7    
1.37     86.9%    
org.eclipse.virgo.kernel.model.internal     4     2.07     86.9%    
org.eclipse.virgo.kernel.serviceability.dump     1     1.67     88.2%    
org.eclipse.virgo.kernel.core.internal.blueprint     3     2.06     90%    
org.eclipse.virgo.kernel.artifact.internal     1     4     91.3%    
org.eclipse.virgo.kernel.serviceability     4     1.94     92.9%    
org.eclipse.virgo.kernel.shutdown     3     1.94     93.2%    
org.eclipse.virgo.kernel.services.work     3     1     93.3%    
org.eclipse.virgo.kernel.config.internal.ovf     3     2.18     93.8%    
org.eclipse.virgo.kernel.model.internal.configurationadmin     3     1.43    
94.7%    
org.eclipse.virgo.kernel.config.internal.commandline     1     3     96.7%    
org.eclipse.virgo.kernel.artifact     1     1.17     100%    
org.eclipse.virgo.kernel.artifact.par     1     2.33     100%    
org.eclipse.virgo.kernel.artifact.plan     3     1.33     100%    
org.eclipse.virgo.kernel.artifact.properties     1     1.67     100%    
org.eclipse.virgo.kernel.diagnostics     1     1     100%    
org.eclipse.virgo.kernel.services.internal     1     1     100%

If you have a licensed copy of clover you should be able to use the ant 'clover' target to generate a
much more detailed report.
Comment 3 Hristo Iliev CLA 2010-09-21 08:24:08 EDT
Created bug 325840 with more tests for kernel.osgicommand.internal.commands.classloading
Comment 4 Chris Frost CLA 2011-01-17 12:13:32 EST
An update on progress, total stands at 52.1% 
Break down as follows.

org.eclipse.virgo.kernel.agent.dm (0%)
org.eclipse.virgo.kernel.agent.dm.internal (64.4%)
org.eclipse.virgo.kernel.artifact (100%)
org.eclipse.virgo.kernel.artifact.bundle (77.7%)
org.eclipse.virgo.kernel.artifact.fs (0%)
org.eclipse.virgo.kernel.artifact.fs.internal (32.6%)
org.eclipse.virgo.kernel.artifact.internal (89.4%)
org.eclipse.virgo.kernel.artifact.library (82.6%)
org.eclipse.virgo.kernel.artifact.library.internal (0%)
org.eclipse.virgo.kernel.artifact.par (100%)
org.eclipse.virgo.kernel.artifact.plan (100%)
org.eclipse.virgo.kernel.artifact.plan.internal (72.7%)
org.eclipse.virgo.kernel.artifact.properties (100%)
org.eclipse.virgo.kernel.authentication (69.2%)
org.eclipse.virgo.kernel.config.internal (83.3%)
org.eclipse.virgo.kernel.config.internal.commandline (96.7%)
org.eclipse.virgo.kernel.config.internal.ovf (93.8%)
org.eclipse.virgo.kernel.core (68.6%)
org.eclipse.virgo.kernel.core.internal (80.5%)
org.eclipse.virgo.kernel.core.internal.blueprint (89.3%)
org.eclipse.virgo.kernel.deployer (83.3%)
org.eclipse.virgo.kernel.deployer.app.spring (47.1%)
org.eclipse.virgo.kernel.deployer.core (42.1%)
org.eclipse.virgo.kernel.deployer.core.event (0%)
org.eclipse.virgo.kernel.deployer.core.internal (28.3%)
org.eclipse.virgo.kernel.deployer.core.internal.event ( - )
org.eclipse.virgo.kernel.deployer.core.internal.recovery (59.3%)
org.eclipse.virgo.kernel.deployer.core.internal.uri (71.2%)
org.eclipse.virgo.kernel.deployer.hot (74%)
org.eclipse.virgo.kernel.deployer.management (30%)
org.eclipse.virgo.kernel.deployer.model (0%)
org.eclipse.virgo.kernel.deployer.model.internal (0%)
org.eclipse.virgo.kernel.diagnostics (100%)
org.eclipse.virgo.kernel.dmfragment ( - )
org.eclipse.virgo.kernel.dmfragment.internal (0%)
org.eclipse.virgo.kernel.install.artifact (64.5%)
org.eclipse.virgo.kernel.install.artifact.internal (41%)
org.eclipse.virgo.kernel.install.artifact.internal.bundle (28%)
org.eclipse.virgo.kernel.install.artifact.internal.scoping (43.4%)
org.eclipse.virgo.kernel.install.environment ( - )
org.eclipse.virgo.kernel.install.environment.internal (15.7%)
org.eclipse.virgo.kernel.install.pipeline ( - )
org.eclipse.virgo.kernel.install.pipeline.internal (82.5%)
org.eclipse.virgo.kernel.install.pipeline.stage (66.7%)
org.eclipse.virgo.kernel.install.pipeline.stage.resolve.internal (0%)
org.eclipse.virgo.kernel.install.pipeline.stage.transform ( - )
org.eclipse.virgo.kernel.install.pipeline.stage.transform.internal (86.9%)
org.eclipse.virgo.kernel.install.pipeline.stage.visit ( - )
org.eclipse.virgo.kernel.install.pipeline.stage.visit.internal (0%)
org.eclipse.virgo.kernel.management (0%)
org.eclipse.virgo.kernel.management.internal (0%)
org.eclipse.virgo.kernel.management.internal.system (0%)
org.eclipse.virgo.kernel.model ( - )
org.eclipse.virgo.kernel.model.internal (86.9%)
org.eclipse.virgo.kernel.model.internal.bundle (80.9%)
org.eclipse.virgo.kernel.model.internal.configurationadmin (94.7%)
org.eclipse.virgo.kernel.model.internal.deployer (78.6%)
org.eclipse.virgo.kernel.model.management (0%)
org.eclipse.virgo.kernel.model.management.internal (55.9%)
org.eclipse.virgo.kernel.module (0%)
org.eclipse.virgo.kernel.module.internal (0%)
org.eclipse.virgo.kernel.osgi.common (36.5%)
org.eclipse.virgo.kernel.osgi.framework (0%)
org.eclipse.virgo.kernel.osgi.framework.support (0%)
org.eclipse.virgo.kernel.osgi.quasi ( - )
org.eclipse.virgo.kernel.osgi.region (73.6%)
org.eclipse.virgo.kernel.osgi.region.eventlog (0%)
org.eclipse.virgo.kernel.osgicommand (0%)
org.eclipse.virgo.kernel.osgicommand.helper (91.8%)
org.eclipse.virgo.kernel.osgicommand.internal (0%)
org.eclipse.virgo.kernel.osgicommand.internal.commands.classloading (85%)
org.eclipse.virgo.kernel.serviceability (92.9%)
org.eclipse.virgo.kernel.serviceability.dump (88.2%)
org.eclipse.virgo.kernel.services.concurrent (85.7%)
org.eclipse.virgo.kernel.services.concurrent.diagnostics (0%)
org.eclipse.virgo.kernel.services.concurrent.management (28.1%)
org.eclipse.virgo.kernel.services.concurrent.monitor (59.4%)
org.eclipse.virgo.kernel.services.internal (100%)
org.eclipse.virgo.kernel.services.repository.internal (72.9%)
org.eclipse.virgo.kernel.services.work (93.3%)
org.eclipse.virgo.kernel.shell ( - )
org.eclipse.virgo.kernel.shell.internal (20.3%)
org.eclipse.virgo.kernel.shell.internal.commands (22.1%)
org.eclipse.virgo.kernel.shell.internal.completers (35.1%)
org.eclipse.virgo.kernel.shell.internal.converters (35.5%)
org.eclipse.virgo.kernel.shell.internal.formatting (34.1%)
org.eclipse.virgo.kernel.shell.internal.help (77.4%)
org.eclipse.virgo.kernel.shell.internal.parsing (55.1%)
org.eclipse.virgo.kernel.shell.internal.util (83.3%)
org.eclipse.virgo.kernel.shell.model.helper (73.6%)
org.eclipse.virgo.kernel.shell.state ( - )
org.eclipse.virgo.kernel.shell.state.internal (48.6%)
org.eclipse.virgo.kernel.shim.scope ( - )
org.eclipse.virgo.kernel.shim.scope.internal (1.4%)
org.eclipse.virgo.kernel.shim.serviceability ( - )
org.eclipse.virgo.kernel.shim.serviceability.internal (0%)
org.eclipse.virgo.kernel.shutdown (93.3%)
org.eclipse.virgo.kernel.stubs (0%)
org.eclipse.virgo.kernel.userregion.internal (48.1%)
org.eclipse.virgo.kernel.userregion.internal.equinox (67.2%)
org.eclipse.virgo.kernel.userregion.internal.importexpansion (76.1%)
org.eclipse.virgo.kernel.userregion.internal.quasi (56.6%)
Comment 5 Steve Powell CLA 2011-01-18 08:00:52 EST
It's quite useful to order these from least covered to greatest covered in the clover window before cutting and pasting it here. (Click on the percentage column header.)
Comment 6 Steve Powell CLA 2011-01-19 12:57:27 EST
Here are the classes ordered in least covered first (I couldn't easily get a package list ordered this way :-{)


ClassesTestsResults
Class                                                           Coverage    
AbstractInstallArtifact.StateMonitorSignal                      (0%)
AbstractInstallArtifactCommandFormatter.ManageableArtifactComparator (0%)
AbstractMultiBeanSystemManagementExporter                       (0%)
AbstractOsgiFramework                                           (0%)
AbstractSystemManagementExporter                                (0%)
Activator                                                       (0%)
Activator                                                       (0%)
Activator.InitialArtifactDeployerCreatingRunnable               (0%)
Activator.PostStartInitialisationRunnable                       (0%)
Activator.ServiceScopingHookRegisteringRunnable                 (0%)
AgentActivator                                                  (0%)
AgentLogEvents                                                  (0%)
ApplicationBundleDeployed                                       (0%)
ApplicationBundleDeploying                                      (0%)
ApplicationBundleDeploymentEvent                                (0%)
ApplicationBundleStarted                                        (0%)
ApplicationBundleStarting                                       (0%)
ApplicationBundleStopped                                        (0%)
ApplicationBundleStopping                                       (0%)
ApplicationBundleUndeployed                                     (0%)
ApplicationBundleUndeploying                                    (0%)
ApplicationBundleUtils                                          (0%)
ApplicationContextShutdownBean                                  (0%)
ApplicationContextShutdownBeanPostProcessor                     (0%)
ApplicationDeployed                                             (0%)
ApplicationDeploying                                            (0%)
ApplicationDeploymentEvent                                      (0%)
ApplicationDeploymentEventNotifier                              (0%)
ApplicationUndeployed                                           (0%)
ApplicationUndeploying                                          (0%)
ArtefactNotFoundException                                       (0%)
ArtifactDescriptorLibraryDefinition                             (0%)
BlockingAbortableSignal                                         (0%)
BundleClassLoaderUnavailableException                           (0%)
BundleCommands                                                  (0%)
BundleCompleter                                                 (0%)
BundleDriverBundleListener                                      (0%)
BundleDriverManifestTransformer                                 (0%)
BundleInstallArtifactCommandFormatter                           (0%)
BundleInstallArtifactCommandFormatter.ArtifactHolder            (0%)
BundleManifestProcessor.Result                                  (0%)
BundleManifestProcessor.Warning                                 (0%)
BundleThreadContextManager                                      (0%)
ClassLoadingSystemManagementExporter                            (0%)
CommandNotFoundException                                        (0%)
CommandRegistry                                                 (0%)
CommandRegistry.CommandRegistryServiceListener                  (0%)
CommandRegistryCommandInvoker                                   (0%)
CommitStage                                                     (0%)
ComponentClassLoadingException                                  (0%)
ComponentException                                              (0%)
CompoundCommandResolver                                         (0%)
CompoundDeployUriNormaliser                                     (0%)
ConcurrentLogEvents                                             (0%)
ConfigInstallArtifact                                           (0%)
ConfigInstallArtifactTreeFactory                                (0%)
ConfigLifecycleEngine                                           (0%)
ContextClassLoaderPostProcessor                                 (0%)
ContextPropagatingTaskExecutor                                  (0%)
ContextPropagatingTaskExecutor.NoOpTracingService               (0%)
DeadlockMonitor                                                 (0%)
DeadlockMonitor.DeadlockMonitorTask                             (0%)
DelegatingInstaller                                             (0%)
DelegatingManageableBundleArtifact                              (0%)
DelegatingServiceRegistryBackedArtifactIdentityDeterminer       (0%)
DeployerBundleArtifact                                          (0%)
DeployerFailureListener                                         (0%)
DeployerRecoveryLogDeploymentListener                           (0%)
DuplicateDeploymentIdentityException                            (0%)
DuplicateFileNameException                                      (0%)
DuplicateLocationException                                      (0%)
EmptyModuleContextAccessor                                      (0%)
EmptyTrackedPackageImports                                      (0%)
EnvironmentVariablesSystemManagementExporter                    (0%)
EnvironmentVariablesSystemManagementExporter.EnvironmentVariablesMBean (0%)
EquinoxHookRegistrar                                            (0%)
ExitCommand                                                     (0%)
ExtendedClassNotFoundException                                  (0%)
ExtendedNoClassDefFoundError                                    (0%)
FFDCExceptionState.State                                        (0%)
FatalDeploymentException                                        (0%)
FatalKernelException                                            (0%)
FatalServerException                                            (0%)
FileDeployUriNormaliser                                         (0%)
GarbageCollectorSystemManagementExporter                        (0%)
HelpCommand                                                     (0%)
HelpCommandCompleter                                            (0%)
ImmutableOsgiConfiguration                                      (0%)
ImportMergeException                                            (0%)
InstallArtifactLifecycleListenerSupport                         (0%)
InstallException                                                (0%)
InvalidComponentPropertyException                               (0%)
JmxSystemExporter                                               (0%)
KernelAnnotationMBeanExporter                                   (0%)
KernelException                                                 (0%)
KernelExtensionConfiguringOsgiPostProcessor                     (0%)
KernelLoadTimeWeaver                                            (0%)
KernelMBeanExporter                                             (0%)
KernelModelMBean                                                (0%)
LoadTimeWeaverPostProcessor                                     (0%)
LocalInputOutputManager                                         (0%)
LoggingInstallArtifactLifecycleListener                         (0%)
MBeanExporterPostProcessor                                      (0%)
ManagementExporter                                              (0%)
MemoryPoolSystemManagementExporter                              (0%)
MemorySystemManagementExporter                                  (0%)
ModuleContextEvent                                              (0%)
ModuleContextFailedEvent                                        (0%)
NoSuchComponentException                                        (0%)
OperatingSystemManagementExporter                               (0%)
OsgiFrameworkException                                          (0%)
OsgiFrameworkLogEvents                                          (0%)
OsgiFrameworkUtils                                              (0%)
OsgiFrameworkUtils.StandardOsgiServiceHolder                    (0%)
OsgiKernelShellCommand                                          (0%)
OsgiKernelShellCommand.CommandInterpreterLinePrinter            (0%)
OvfParseException                                               (0%)
PackageCommandFormatter                                         (0%)
PackageCommandFormatter.QuasiExportPackageComparator            (0%)
PackageCommands                                                 (0%)
PackageCompleter                                                (0%)
ParCommands                                                     (0%)
ParCompleter                                                    (0%)
ParPlanInstallArtifact                                          (0%)
ParPlanInstallArtifact.DelegatingArtifactStorage                (0%)
ParPlanInstallArtifactFactory                                   (0%)
ParametersMismatchException                                     (0%)
PipelinedApplicationDeployer                                    (0%)
PlanCommands                                                    (0%)
PlanCompleter                                                   (0%)
PlanInstallArtifactTreeFactory                                  (0%)
PlanResolver                                                    (0%)
PlanScoper                                                      (0%)
Plumber                                                         (0%)
PropertyTypeMismatchException                                   (0%)
QuasiInstallStage                                               (0%)
QuasiInstallStage.InstallVisitor                                (0%)
QuasiResolveStage                                               (0%)
RecoveryAgent                                                   (0%)
RefreshException                                                (0%)
RegionAwareEventLoggerServiceFactory                            (0%)
RegionAwarePackageAdminAccessor                                 (0%)
ResolutionDumpContributor                                       (0%)
ResolveStage                                                    (0%)
ResolveStage.BundleFinderVisitor                                (0%)
RuntimeSystemManagementExporter                                 (0%)
Scoper.DuplicateBundleSymbolicNameException                     (0%)
Scoper.DuplicateExportException                                 (0%)
Scoper.UnsupportedBundleManifestVersionException                (0%)
ScopingTransformer                                              (0%)
ServiceCommands                                                 (0%)
ServicePropertyCommandResolver                                  (0%)
ServiceProxyRetryDisablingBundleListener                        (0%)
ServiceRegistryCommandCompleterRegistry                         (0%)
ServiceRegistryCommandCompleterRegistry.ConverterRegistryServiceListener (0%)
ServiceRegistryConverterRegistry                                (0%)
ServiceRegistryConverterRegistry.ConverterRegistryServiceListener (0%)
ServiceScoper                                                   (0%)
ServiceScopingRegistryHook                                      (0%)
SessionCommandExecutor                                          (0%)
ShutdownCommand                                                 (0%)
SingleSessionCommandExecutor                                    (0%)
Slf4jTracingService                                             (0%)
StandardArtifactFSFactory                                       (0%)
StandardDeployer                                                (0%)
StandardDeployerConfiguration                                   (0%)
StandardDeploymentIdentity                                      (0%)
StandardInstallEnvironmentFactory                               (0%)
StandardInstallLog                                              (0%)
StandardModuleContextEventPublisher                             (0%)
StandardModuleContextEventPublisher.ListenerListener            (0%)
StandardPackageAdminUtil                                        (0%)
StandardPipelineFactory                                         (0%)
StandardPlanInstallArtifact                                     (0%)
StandardRuntimeArtifactModel                                    (0%)
StandardScopeFactory.AppScope                                   (0%)
StandardScopeFactory.GlobalScope                                (0%)
StandardScopeFactory.StandardScope                              (0%)
StandardStateWriter                                             (0%)
StandardSystemDump                                              (0%)
StandardSystemStateAccessor                                     (0%)
StartException                                                  (0%)
StateCleanupInstallArtifactLifecycleListener                    (0%)
StopException                                                   (0%)
StubArtifactFS                                                  (0%)
StubBundleInstallArtifact                                       (0%)
StubInstallArtifact                                             (0%)
StubPlanInstallArtifact                                         (0%)
ThreadingSystemManagementExporter                               (0%)
TransformedManifestProvidingBundleFileWrapper.TransformedManifestBundleEntry (0%)
TransformedManifestProvidingBundleFileWrapper.TransformedManifestProvidingBundleFile (0%)
UnableToSatisfyBundleDependenciesException                      (0%)
UnableToSatisfyDependenciesException                            (0%)
UnableToSatisfyLibraryDependenciesException                     (0%)
UnableToSatisfyPlanDependenciesException                        (0%)
VisitationStage                                                 (0%)
StandardScopeFactory                                            (3.7%)
StandardExecutorServiceInfo                                     (4.9%)
StandardBundleStarter                                           (6.9%)
StandardBundleDriver                                            (7.7%)
DescopingBundleSymbolicName                                     (7.9%)
ModuleContextWrapper                                            (9.5%)
StandardImportPromotionVector                                   (15.4%)
FileArtifactFSEntry                                             (17.2%)
AbstractInstallArtifact                                         (19.7%)
AsyncShutdownDecorator                                          (20%)
StandardStateService                                            (24.8%)
InstallCompleter                                                (25.3%)
ApplicationDeployer.DeploymentOptions                           (25.9%)
User                                                            (26.5%)
StandardInstallArtifactRefreshHandler                           (27.3%)
ConfigurationAdminExporter                                      (30.6%)
ArtifactIdentityScoper                                          (31.2%)
StandardResolutionFailureDetective                              (31.4%)
EmptyRepository.EmptyQuery                                      (33.3%)
RegionManagerParserLogger                                       (33.3%)
Version                                                         (36.5%)
ParsedCommand                                                   (37.2%)
StandardQuasiImportPackage                                      (37.8%)
StandardQuasiParameterised                                      (38.3%)
StandardBundleInstallArtifact                                   (38.8%)
StandardQuasiExportPackage                                      (38.9%)
DefaultRuntimeArtifactModelObjectNameCreator                    (39.1%)
GenericQuasiResolutionFailure                                   (42.9%)
PackageQuasiResolutionFailure                                   (42.9%)
ServiceUtils                                                    (42.9%)
StandardQuasiFrameworkFactory                                   (43.1%)
StandardQuasiLiveService                                        (44.4%)
Scoper                                                          (44.9%)
JmxArtifactRepositoryListener                                   (46.4%)
DeadlockAnalyser.Deadlock                                       (46.5%)
StandardArtifactAccessor                                        (46.5%)
ConfigCommands                                                  (47.8%)
BundleDependencyDeterminer                                      (50%)
DirectoryArtifactFS                                             (50%)
KernelStatus                                                    (50%)
PlanReaderErrorHandler                                          (50%)
StandardQuasiFramework.QuasiManifestTransformer                 (50%)
ImportExpandingTransformer.ImportExpandingTreeVisitor           (52.9%)
TreeRestrictingInstallArtifactLifecycleListener                 (55.2%)
BundleInstallArtifactFactory                                    (56.4%)
KernelScheduledThreadPoolExecutor                               (57.1%)
BundleUtils                                                     (60%)
StandardScopeServiceRepository                                  (60.9%)
StandardArtifactStorage                                         (61.1%)
BundleManifestProcessor                                         (62.2%)
AbstractInstallArtifactBasedCommands                            (63.9%)
CommandDescriptor                                               (64.7%)
StandardQuasiBundle                                             (64.8%)
StandardInstallArtifactTreeInclosure                            (65.2%)
StandardQuasiLiveFramework                                      (65.5%)
RegionManager                                                   (65.9%)
AbstractPipelineStage                                           (66.7%)
BlockingSignal                                                  (66.7%)
StandardCommandSession                                          (66.7%)
StandardArtifactStateMonitor                                    (68.3%)
ApplicationContextDependencyMonitor.ServiceDependency           (68.4%)
ArtifactIdentity                                                (69.8%)
HotDeploymentFileSystemListener                                 (70%)
StandardQuasiLiveBundle                                         (70.1%)
RegionManager.ImmutableRegion                                   (71.4%)
BlockingAbortableSignal                                         (72.2%)
KernelBundleClassLoader.ThrowAwayClassLoader                    (72.2%)
ShutdownManager                                                 (72.2%)
StandardQuasiFramework                                          (73.1%)
EquinoxOsgiFramework                                            (73.6%)
HotDeployer                                                     (73.8%)
ModelInstallArtifactLifecycleListener                           (74.3%)
UsesAnalyser                                                    (74.4%)
EquinoxUtils                                                    (74.5%)
FileArtifactFS                                                  (75%)
RepositoryFactoryBean                                           (75%)
StandardQuasiRequiredBundle                                     (75%)
SimpleFileHelpAccessor                                          (77.4%)
BundleBridge                                                    (77.7%)
StandardRamAccessorHelper                                       (78.4%)
AbortableSignalJunction                                         (78.5%)
ResolutionStateDumper                                           (78.6%)
DeployerArtifact                                                (80%)
StandardInstallEnvironment                                      (80%)
WorkAreaServiceFactory                                          (80%)
StandardRecoveryMonitor                                         (80.8%)
AbstractArtifact                                                (81%)
StandardArtifactAccessorPointer                                 (81.2%)
ImportExpansionHandler                                          (81.5%)
TransformedManifestProvidingBundleFileWrapper                   (81.8%)
ShutdownClient                                                  (82.4%)
UsesAnalyser.AnalysedUsesConflict                               (82.4%)
AtomicInstallArtifactLifecycleListener                          (82.5%)
LibraryBridge                                                   (82.6%)
ImportExpandingTransformer                                      (82.6%)
DeployerRecoveryLog                                             (83%)
AbortableSignalJunction.SubSignal                               (83.3%)
AbstractInstallArtifactCommandFormatter                         (83.3%)
ArtifactIdentity                                                (83.3%)
ArtifactRetriever                                               (83.3%)
ModelInstallArtifactLifecycleListenerInitializer                (83.3%)
ThreadPoolUtils                                                 (83.3%)
TreeUtils                                                       (83.3%)
KernelBundleClassLoader                                         (83.7%)
BundleDeploymentPropertiesTransformer.Visitor                   (84.6%)
ParsingUtils                                                    (84.6%)
WatchTask                                                       (84.6%)
ClassLoadingCommandProvider                                     (85%)
BundleArtifact                                                  (85.2%)
CompensatingPipeline                                            (85.7%)
KernelStartedAwaiter                                            (85.7%)
PlanReaderEntityResolver                                        (85.7%)
ServiceCommandFormatter                                         (85.7%)
ShutdownManager.ShutdownLoggingListener                         (85.7%)
StartupTracker.StartupTrackingRunnable                          (85.7%)
BundleStartTracker                                              (86.1%)
ConfigurationArtifact                                           (86.7%)
KernelThreadPoolExecutor                                        (86.7%)
InitialArtifactDeployer.ArtifactDeployingRunnable               (87%)
OvfEnvironmentPropertiesReader                                  (87%)
JmxExecutorServiceExporter                                      (87.5%)
StartupTracker                                                  (87.5%)
ManifestUpgrader                                                (87.8%)
UserRegionModuleContextAccessor                                 (88%)
CoreBundleActivator                                             (88.3%)
BundleInstallArtifactTreeFactory                                (88.9%)
ConfigurationInitialiser                                        (88.9%)
EmptyRepository                                                 (88.9%)
BundleManifestUtils                                             (89.4%)
StandardTicker                                                  (89.7%)
DependencyCalculator                                            (89.7%)
UserConfigurationPropertiesSource                               (89.7%)
ArtifactState                                                   (90%)
BlueprintEventPostingOsgiBundleApplicationContextListener       (91.1%)
ExecutorServiceDelegate                                         (91.7%)
ClassLoadingHelper                                              (91.8%)
EquinoxBootDelegationHelper                                     (91.8%)
AbstractTrackedPackageImports                                   (92%)
KernelLoginModule                                               (92.7%)
ModelBundleListenerInitializer                                  (92.9%)
SyntheticContextBundleCreatingTransformer                       (92.9%)
AbstractInstallArtifactCompleter                                (93%)
BundleTrackedPackageImports                                     (93.8%)
ApplicationContextDependencyMonitor                             (93.8%)
RepositoryDeployUriNormaliser                                   (94%)
ModelConfigurationListenerInitializer                           (94.1%)
ServiceScopingStrategy                                          (94.3%)
BlockingSignal                                                  (94.4%)
ConfigInstallArtifactCommandFormatter                           (94.9%)
ConfigurationAdminDumpContributor                               (95%)
SpringConfigServiceModelScanner                                 (95.2%)
ServiceReferenceTracker                                         (95.2%)
KernelConfiguration                                             (95.4%)
ConfigCompleter                                                 (95.5%)
ConfigurationPublisher                                          (95.8%)
AnnotationBasedCommandResolver                                  (96.6%)
DescopingBundleManifest                                         (96.7%)
StandardArtifactIdentityDeterminer                              (96.7%)
CommandLinePropertiesSource                                     (96.7%)
PackageImportWildcardExpander                                   (96.9%)
InitialArtifactDeployer                                         (97.2%)
NotifyingRuntimeArtifactRepository                              (97.2%)
PropertyFormatter                                               (98%)
Assert                                                          (98.2%)
OvfPropertiesSource                                             (98.6%)
AdditionalTrackedPackageImports                                 (100%)
ArtifactSpecification                                           (100%)
Assert.FatalAssertionException                                  (100%)
BundleDeploymentPropertiesTransformer                           (100%)
BundleDescriptionComparator                                     (100%)
BundleDriverFactory                                             (100%)
BundleInstallArtifactGatheringTreeVisitor                       (100%)
BundleStartTracker.StartupTrackerBundleListener                 (100%)
CollectingTrackedPackageImports                                 (100%)
CompositeInstallArtifactCommandFormatter                        (100%)
ConfigurationAdminConfigurationInfo                             (100%)
ContainingTrackedPackageImports                                 (100%)
DeadlockAnalyser                                                (100%)
DelegatingManageableArtifact                                    (100%)
DelegatingManageableCompositeArtifact                           (100%)
DeployerCompositeArtifact                                       (100%)
DeployerCompositeArtifactDependencyDeterminer                   (100%)
DeployerLogEvents                                               (100%)
DeploymentException                                             (100%)
ExecutorServiceDelegate.ApplicationNameAccessor                 (100%)
ExecutorServiceDelegate.KernelRunnable                          (100%)
FFDCExceptionState                                              (100%)
FailureSignalledException                                       (100%)
HotDeployerLogEvents                                            (100%)
InstallCommand                                                  (100%)
KernelAuthenticationConfiguration                               (100%)
KernelClassLoaderCreator                                        (100%)
KernelConfigurationPropertiesSource                             (100%)
KernelLogEvents                                                 (100%)
KernelServicesLogEvents                                         (100%)
LogEventDelegate                                                (100%)
LongConverter                                                   (100%)
ModelBundleListener                                             (100%)
ModelConfigurationListener                                      (100%)
NamedThreadFactory                                              (100%)
PackageUsesQuasiResolutionFailure                               (100%)
ParBridge                                                       (100%)
PlanBridge                                                      (100%)
PlanDescriptor                                                  (100%)
PlanMemberCollector                                             (100%)
PlanMemberCollector.ArtifactCollectingTreeVisitor               (100%)
PlanReader                                                      (100%)
PropertiesBridge                                                (100%)
PropertiesFileCredentialStoreFactory                            (100%)
PropertiesFileCredentialStoreFactory.ImmutableCredentialStore   (100%)
ResolutionFailureDetective.ResolverErrorsHolder                 (100%)
Role                                                            (100%)
ScopeNameFactory                                                (100%)
ScopedPlanIdentifyingTreeVisitor                                (100%)
ServiceCommandFormatter.QuasiLiveServiceComparator              (100%)
ServiceRegistryCommandProviderResolver                          (100%)
ShutdownCommand                                                 (100%)
ShutdownCommandParser                                           (100%)
StandardArtifactStorageFactory                                  (100%)
StandardCommandProcessor                                        (100%)
StandardPipeline                                                (100%)
StandardQuasiPackage                                            (100%)
StandardScopeServiceRepository.Service                          (100%)
StandardTicker.ExponentialHeartBeatPolicy                       (100%)
StandardTrackedPackageImportsFactory                            (100%)
StandardWorkArea                                                (100%)
StringConverter                                                 (100%)
TransformationStage                                             (100%)
UserInstalledTaggingTransformer                                 (100%)
UserRegionLogEvents                                             (100%)
UsesAnalyser.ImportedSourcedPackage                             (100%)
UsesAnalyser.SourcedPackage                                     (100%)
UsesAnalyser.UsedBySourcedPackage                               (100%)

Enjoy!
Comment 7 Chris Frost CLA 2011-01-21 05:24:02 EST
After all the Lazy bundle testing the average is now 52.4%. It is going to take a lot of work to get the average up by something meaningful.
Comment 8 Nobody - feel free to take it CLA 2011-01-21 05:34:56 EST
(In reply to comment #7)
> After all the Lazy bundle testing the average is now 52.4%. It is going to take
> a lot of work to get the average up by something meaningful.

Some improvement wil happen as we restructure components when adding major new function For instance, I would hope that RegionManager, or rather the new code corresponding to today's RegionManager, would increase in coverage from its current 65.9% thanks to the framework hooks item. We need to continue to focus on testing as we implement large items. However, I take your point as I'm not sure how much this will affect the overall average.

Other than that, we'll simply have to chip away making small improvements over time and trying to focus on the most crucial areas to get the most benefit.
Comment 9 Chris Frost CLA 2011-01-21 11:09:39 EST
52.6% I think there needs to be some work to stub out some types around the deployer. Testing with all these mocks is going to prove too brittle.
Comment 10 Nobody - feel free to take it CLA 2011-04-20 08:46:29 EDT
Re-classifying this an an enhancement as a reality check. It is tagged as helpwanted, but no help seems to be forthcoming. Also, committers almost always deliver more value by working on bugs and new function rather than specifically spending time writing tests.
Comment 11 Chris Frost CLA 2011-05-27 12:31:26 EDT
As of 3.0.0.M05 we are still on 52%
Comment 12 Steve Powell CLA 2011-09-13 11:43:06 EDT
It ought to be possible to write a test framework class that exercise all the constructors and getters of an Exception.  This would not cope with special Exceptions (that carry specific causes, or have stacks manipulated) for specific purposes, though there ought not to be very many of these.

A bit of reflection in the test framework class is what is needed.

Then we could simply put in a standard Exception test, for each exception, and get rid of all the silly 0% Exception classes in the list.

Another trick might be to have a specific test method for simple getters and setters.  Again, this would only apply to simple field updaters. It might be feasible to have field testers for getters that should protect the field they get -- that is, ought to copy it.

A bit of leverage like this might make it easier to get the easy unit testing written, and make it possible to 'document' such intended behaviour by reference to the tests.

Just a thought.
Comment 13 Florian Waibel CLA 2015-06-03 05:05:44 EDT
We've got a coverage report on our HIPP now: https://hudson.eclipse.org/virgo/view/3.7.0-SNAPSHOT/job/gradle-build/lastBuild/jacoco/
Comment 14 Florian Waibel CLA 2015-06-03 05:18:00 EDT
One of the "bad" boy seems to be PipelinedApplicationDeployer with 
1290 lines missed and only 89 covered.