Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 348401

Summary: [app] Application Admin fails CT (13/40)
Product: [Eclipse Project] Equinox Reporter: John Ross <jwross>
Component: CompendiumAssignee: equinox.compendium-inbox <equinox.compendium-inbox>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: tjwatson
Version: 3.7   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description John Ross CLA 2011-06-06 10:25:42 EDT
org.osgi.test.cases.application
org.osgi.test.cases.application.tbc.ApplicationTestControl
testApplicationDescriptorLock(org.osgi.test.cases.application.tbc.ApplicationTestControl)
junit.framework.AssertionFailedError: Expected the exception java.lang.IllegalStateException and java.security.AccessControlException was thrown.

	at junit.framework.Assert.fail(Assert.java:47)

	at org.osgi.test.cases.application.tb2.ApplicationDescriptor.Lock.testLock003(Lock.java:154)

	at org.osgi.test.cases.application.tb2.ApplicationDescriptor.Lock.run(Lock.java:63)

	at org.osgi.test.cases.application.tbc.ApplicationTestControl.testApplicationDescriptorLock(ApplicationTestControl.java:284)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

	at java.lang.reflect.Method.invoke(Method.java:597)

	at junit.framework.TestCase.runTest(TestCase.java:164)

	at junit.framework.TestCase.runBare(TestCase.java:130)

	at junit.framework.TestResult$1.protect(TestResult.java:106)

	at junit.framework.TestResult.runProtected(TestResult.java:124)

	at junit.framework.TestResult.run(TestResult.java:109)

	at junit.framework.TestCase.run(TestCase.java:120)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at aQute.junit.Activator.test(Activator.java:200)

	at aQute.junit.Activator.run(Activator.java:51)



testApplicationDescriptorUnLock(org.osgi.test.cases.application.tbc.ApplicationTestControl)
junit.framework.AssertionFailedError: Expected the exception java.lang.IllegalStateException and java.security.AccessControlException was thrown.

	at junit.framework.Assert.fail(Assert.java:47)

	at org.osgi.test.cases.application.tb2.ApplicationDescriptor.Unlock.testUnlock003(Unlock.java:157)

	at org.osgi.test.cases.application.tb2.ApplicationDescriptor.Unlock.run(Unlock.java:64)

	at org.osgi.test.cases.application.tbc.ApplicationTestControl.testApplicationDescriptorUnLock(ApplicationTestControl.java:288)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

	at java.lang.reflect.Method.invoke(Method.java:597)

	at junit.framework.TestCase.runTest(TestCase.java:164)

	at junit.framework.TestCase.runBare(TestCase.java:130)

	at junit.framework.TestResult$1.protect(TestResult.java:106)

	at junit.framework.TestResult.runProtected(TestResult.java:124)

	at junit.framework.TestResult.run(TestResult.java:109)

	at junit.framework.TestCase.run(TestCase.java:120)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at aQute.junit.Activator.test(Activator.java:200)

	at aQute.junit.Activator.run(Activator.java:51)



testMidletDescriptorLaunch(org.osgi.test.cases.application.tbc.ApplicationTestControl)
junit.framework.AssertionFailedError: Expected the exception java.lang.IllegalStateException and java.security.AccessControlException was thrown.

	at junit.framework.Assert.fail(Assert.java:47)

	at org.osgi.test.cases.application.tb2.ApplicationDescriptor.Launch.testLaunch003(Launch.java:174)

	at org.osgi.test.cases.application.tb2.ApplicationDescriptor.Launch.run(Launch.java:67)

	at org.osgi.test.cases.application.tbc.ApplicationTestControl.testMidletDescriptorLaunch(ApplicationTestControl.java:323)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

	at java.lang.reflect.Method.invoke(Method.java:597)

	at junit.framework.TestCase.runTest(TestCase.java:164)

	at junit.framework.TestCase.runBare(TestCase.java:130)

	at junit.framework.TestResult$1.protect(TestResult.java:106)

	at junit.framework.TestResult.runProtected(TestResult.java:124)

	at junit.framework.TestResult.run(TestResult.java:109)

	at junit.framework.TestCase.run(TestCase.java:120)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at aQute.junit.Activator.test(Activator.java:200)

	at aQute.junit.Activator.run(Activator.java:51)



testTreeStructure(org.osgi.test.cases.application.tbc.ApplicationTestControl)
junit.framework.AssertionFailedError: Asserts if $/Application/&lt;app_id&gt; is a valid node

	at junit.framework.Assert.fail(Assert.java:47)

	at junit.framework.Assert.assertTrue(Assert.java:20)

	at org.osgi.test.cases.application.tbc.TreeStructure.TreeStructure.testTreeStructure002(TreeStructure.java:178)

	at org.osgi.test.cases.application.tbc.TreeStructure.TreeStructure.run(TreeStructure.java:74)

	at org.osgi.test.cases.application.tbc.ApplicationTestControl.testTreeStructure(ApplicationTestControl.java:330)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

	at java.lang.reflect.Method.invoke(Method.java:597)

	at junit.framework.TestCase.runTest(TestCase.java:164)

	at junit.framework.TestCase.runBare(TestCase.java:130)

	at junit.framework.TestResult$1.protect(TestResult.java:106)

	at junit.framework.TestResult.runProtected(TestResult.java:124)

	at junit.framework.TestResult.run(TestResult.java:109)

	at junit.framework.TestCase.run(TestCase.java:120)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at aQute.junit.Activator.test(Activator.java:200)

	at aQute.junit.Activator.run(Activator.java:51)



testMidletDescriptorSchedule(org.osgi.test.cases.application.tbc.ApplicationTestControl)
junit.framework.AssertionFailedError: Unexpected exception thrown.: java.lang.NullPointerException

	at junit.framework.Assert.fail(Assert.java:47)

	at org.osgi.test.cases.application.tb2.ApplicationDescriptor.Schedule.testSchedule001(Schedule.java:118)

	at org.osgi.test.cases.application.tb2.ApplicationDescriptor.Schedule.run(Schedule.java:65)

	at org.osgi.test.cases.application.tbc.ApplicationTestControl.testMidletDescriptorSchedule(ApplicationTestControl.java:337)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

	at java.lang.reflect.Method.invoke(Method.java:597)

	at junit.framework.TestCase.runTest(TestCase.java:164)

	at junit.framework.TestCase.runBare(TestCase.java:130)

	at junit.framework.TestResult$1.protect(TestResult.java:106)

	at junit.framework.TestResult.runProtected(TestResult.java:124)

	at junit.framework.TestResult.run(TestResult.java:109)

	at junit.framework.TestCase.run(TestCase.java:120)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at aQute.junit.Activator.test(Activator.java:200)

	at aQute.junit.Activator.run(Activator.java:51)



testScheduledApplicationGetTopic(org.osgi.test.cases.application.tbc.ApplicationTestControl)
junit.framework.AssertionFailedError: Expected the exception java.lang.IllegalStateException and java.lang.NullPointerException was thrown.

	at junit.framework.Assert.fail(Assert.java:47)

	at org.osgi.test.cases.application.tb2.ScheduledApplication.GetTopic.testGetTopic002(GetTopic.java:132)

	at org.osgi.test.cases.application.tb2.ScheduledApplication.GetTopic.run(GetTopic.java:63)

	at org.osgi.test.cases.application.tbc.ApplicationTestControl.testScheduledApplicationGetTopic(ApplicationTestControl.java:344)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

	at java.lang.reflect.Method.invoke(Method.java:597)

	at junit.framework.TestCase.runTest(TestCase.java:164)

	at junit.framework.TestCase.runBare(TestCase.java:130)

	at junit.framework.TestResult$1.protect(TestResult.java:106)

	at junit.framework.TestResult.runProtected(TestResult.java:124)

	at junit.framework.TestResult.run(TestResult.java:109)

	at junit.framework.TestCase.run(TestCase.java:120)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at aQute.junit.Activator.test(Activator.java:200)

	at aQute.junit.Activator.run(Activator.java:51)



testScheduledApplicationGetEventFilter(org.osgi.test.cases.application.tbc.ApplicationTestControl)
junit.framework.AssertionFailedError: Unexpected exception thrown.: java.lang.NullPointerException

	at junit.framework.Assert.fail(Assert.java:47)

	at org.osgi.test.cases.application.tb2.ScheduledApplication.GetEventFilter.testGetEventFilter001(GetEventFilter.java:95)

	at org.osgi.test.cases.application.tb2.ScheduledApplication.GetEventFilter.run(GetEventFilter.java:62)

	at org.osgi.test.cases.application.tbc.ApplicationTestControl.testScheduledApplicationGetEventFilter(ApplicationTestControl.java:351)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

	at java.lang.reflect.Method.invoke(Method.java:597)

	at junit.framework.TestCase.runTest(TestCase.java:164)

	at junit.framework.TestCase.runBare(TestCase.java:130)

	at junit.framework.TestResult$1.protect(TestResult.java:106)

	at junit.framework.TestResult.runProtected(TestResult.java:124)

	at junit.framework.TestResult.run(TestResult.java:109)

	at junit.framework.TestCase.run(TestCase.java:120)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at aQute.junit.Activator.test(Activator.java:200)

	at aQute.junit.Activator.run(Activator.java:51)



testScheduledApplicationIsRecurring(org.osgi.test.cases.application.tbc.ApplicationTestControl)
junit.framework.AssertionFailedError: Unexpected exception thrown.: java.lang.NullPointerException

	at junit.framework.Assert.fail(Assert.java:47)

	at org.osgi.test.cases.application.tb2.ScheduledApplication.IsRecurring.testIsRecurring001(IsRecurring.java:93)

	at org.osgi.test.cases.application.tb2.ScheduledApplication.IsRecurring.run(IsRecurring.java:62)

	at org.osgi.test.cases.application.tbc.ApplicationTestControl.testScheduledApplicationIsRecurring(ApplicationTestControl.java:358)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

	at java.lang.reflect.Method.invoke(Method.java:597)

	at junit.framework.TestCase.runTest(TestCase.java:164)

	at junit.framework.TestCase.runBare(TestCase.java:130)

	at junit.framework.TestResult$1.protect(TestResult.java:106)

	at junit.framework.TestResult.runProtected(TestResult.java:124)

	at junit.framework.TestResult.run(TestResult.java:109)

	at junit.framework.TestCase.run(TestCase.java:120)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at aQute.junit.Activator.test(Activator.java:200)

	at aQute.junit.Activator.run(Activator.java:51)



testScheduledApplicationGetArguments(org.osgi.test.cases.application.tbc.ApplicationTestControl)
junit.framework.AssertionFailedError: Unexpected exception thrown.: java.lang.NullPointerException

	at junit.framework.Assert.fail(Assert.java:47)

	at org.osgi.test.cases.application.tb2.ScheduledApplication.GetArguments.testGetArguments001(GetArguments.java:98)

	at org.osgi.test.cases.application.tb2.ScheduledApplication.GetArguments.run(GetArguments.java:63)

	at org.osgi.test.cases.application.tbc.ApplicationTestControl.testScheduledApplicationGetArguments(ApplicationTestControl.java:365)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

	at java.lang.reflect.Method.invoke(Method.java:597)

	at junit.framework.TestCase.runTest(TestCase.java:164)

	at junit.framework.TestCase.runBare(TestCase.java:130)

	at junit.framework.TestResult$1.protect(TestResult.java:106)

	at junit.framework.TestResult.runProtected(TestResult.java:124)

	at junit.framework.TestResult.run(TestResult.java:109)

	at junit.framework.TestCase.run(TestCase.java:120)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at aQute.junit.Activator.test(Activator.java:200)

	at aQute.junit.Activator.run(Activator.java:51)



testScheduledApplicationGetApplicationDescriptor(org.osgi.test.cases.application.tbc.ApplicationTestControl)
junit.framework.AssertionFailedError: Unexpected exception thrown.: java.lang.NullPointerException

	at junit.framework.Assert.fail(Assert.java:47)

	at org.osgi.test.cases.application.tb2.ScheduledApplication.GetApplicationDescriptor.testGetApplicationDescriptor001(GetApplicationDescriptor.java:95)

	at org.osgi.test.cases.application.tb2.ScheduledApplication.GetApplicationDescriptor.run(GetApplicationDescriptor.java:63)

	at org.osgi.test.cases.application.tbc.ApplicationTestControl.testScheduledApplicationGetApplicationDescriptor(ApplicationTestControl.java:372)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

	at java.lang.reflect.Method.invoke(Method.java:597)

	at junit.framework.TestCase.runTest(TestCase.java:164)

	at junit.framework.TestCase.runBare(TestCase.java:130)

	at junit.framework.TestResult$1.protect(TestResult.java:106)

	at junit.framework.TestResult.runProtected(TestResult.java:124)

	at junit.framework.TestResult.run(TestResult.java:109)

	at junit.framework.TestCase.run(TestCase.java:120)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at aQute.junit.Activator.test(Activator.java:200)

	at aQute.junit.Activator.run(Activator.java:51)



testScheduledApplicationRemove(org.osgi.test.cases.application.tbc.ApplicationTestControl)
junit.framework.AssertionFailedError: Expected the exception java.lang.SecurityException and java.lang.NullPointerException was thrown.

	at junit.framework.Assert.fail(Assert.java:47)

	at org.osgi.test.cases.application.tb2.ScheduledApplication.Remove.testRemove001(Remove.java:97)

	at org.osgi.test.cases.application.tb2.ScheduledApplication.Remove.run(Remove.java:62)

	at org.osgi.test.cases.application.tbc.ApplicationTestControl.testScheduledApplicationRemove(ApplicationTestControl.java:379)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

	at java.lang.reflect.Method.invoke(Method.java:597)

	at junit.framework.TestCase.runTest(TestCase.java:164)

	at junit.framework.TestCase.runBare(TestCase.java:130)

	at junit.framework.TestResult$1.protect(TestResult.java:106)

	at junit.framework.TestResult.runProtected(TestResult.java:124)

	at junit.framework.TestResult.run(TestResult.java:109)

	at junit.framework.TestCase.run(TestCase.java:120)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at aQute.junit.Activator.test(Activator.java:200)

	at aQute.junit.Activator.run(Activator.java:51)



testGetStartupParameters(org.osgi.test.cases.application.tbc.ApplicationTestControl)
junit.framework.AssertionFailedError: Unexpected exception thrown.: java.lang.NullPointerException

	at junit.framework.Assert.fail(Assert.java:47)

	at org.osgi.test.cases.application.tbc.ApplicationContext.GetStartupParameters.testGetStartupParameters004(GetStartupParameters.java:199)

	at org.osgi.test.cases.application.tbc.ApplicationContext.GetStartupParameters.run(GetStartupParameters.java:72)

	at org.osgi.test.cases.application.tbc.ApplicationTestControl.testGetStartupParameters(ApplicationTestControl.java:458)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

	at java.lang.reflect.Method.invoke(Method.java:597)

	at junit.framework.TestCase.runTest(TestCase.java:164)

	at junit.framework.TestCase.runBare(TestCase.java:130)

	at junit.framework.TestResult$1.protect(TestResult.java:106)

	at junit.framework.TestResult.runProtected(TestResult.java:124)

	at junit.framework.TestResult.run(TestResult.java:109)

	at junit.framework.TestCase.run(TestCase.java:120)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at aQute.junit.Activator.test(Activator.java:200)

	at aQute.junit.Activator.run(Activator.java:51)



testGetScheduleId(org.osgi.test.cases.application.tbc.ApplicationTestControl)
junit.framework.AssertionFailedError: Unexpected exception thrown.: java.lang.NullPointerException

	at junit.framework.Assert.fail(Assert.java:47)

	at org.osgi.test.cases.application.tb2.ScheduledApplication.GetScheduleId.testGetScheduleId001(GetScheduleId.java:54)

	at org.osgi.test.cases.application.tb2.ScheduledApplication.GetScheduleId.run(GetScheduleId.java:26)

	at org.osgi.test.cases.application.tbc.ApplicationTestControl.testGetScheduleId(ApplicationTestControl.java:513)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

	at java.lang.reflect.Method.invoke(Method.java:597)

	at junit.framework.TestCase.runTest(TestCase.java:164)

	at junit.framework.TestCase.runBare(TestCase.java:130)

	at junit.framework.TestResult$1.protect(TestResult.java:106)

	at junit.framework.TestResult.runProtected(TestResult.java:124)

	at junit.framework.TestResult.run(TestResult.java:109)

	at junit.framework.TestCase.run(TestCase.java:120)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at junit.framework.TestSuite.runTest(TestSuite.java:230)

	at junit.framework.TestSuite.run(TestSuite.java:225)

	at aQute.junit.Activator.test(Activator.java:200)

	at aQute.junit.Activator.run(Activator.java:51)
Comment 1 John Ross CLA 2011-06-06 10:30:25 EDT
Note that org..eclipse.equinox.common and org.eclipse.equinox.registry are required to be on the CT stack.
Comment 2 Thomas Watson CLA 2012-04-25 11:20:38 EDT
Not happening for Juno.
Comment 3 Thomas Watson CLA 2015-02-23 10:51:33 EST
No plans to work on this.  If someone is compelled to contribute to the application admin implementation to get it to pass the CT then I will support them.  I do not see the demand here to justify the cost to the existing committers.