Community
Participate
Working Groups
Created attachment 131978 [details] UpdateSiteTest patch In the tests for build I20090414-0800 testBug266881 in AddRepositoryActionTest failed (exception below). A test in UpdateSiteTest was adding a repository which contained the same artifacts as those used by the failed test, and subsequently the repository was not removed test. The repository expected at most a certain number of getArtifact calls, but was chosen over the repository added in 'testBug266881' as the location to retrieve an artifact this lead to the ArrayIndexOutOfBoundsException. The attached patch should ensure that the UpdateSiteTest removes the repository, and that the ArrayIndexOutOfBoundsException shouldn't occur in the OrderedMirrorSelector. testBug266881 Failure 3.4: java.lang.ArrayIndexOutOfBoundsException: 2 junit.framework.AssertionFailedError: 3.4: java.lang.ArrayIndexOutOfBoundsException: 2 at org.eclipse.equinox.p2.tests.AbstractProvisioningTest.fail(AbstractProvisioningTest.java:557) at org.eclipse.equinox.p2.tests.updatesite.UpdateSiteTest$OrderedMirrorSelector.nextMirror(UpdateSiteTest.java:727) at org.eclipse.equinox.p2.tests.updatesite.UpdateSiteTest$OrderedMirrorSelector.getMirrorLocation(UpdateSiteTest.java:716) at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.getMirror(SimpleArtifactRepository.java:495) at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.downloadArtifact(SimpleArtifactRepository.java:451) at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.getArtifact(SimpleArtifactRepository.java:519) at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.getArtifact(MirrorRequest.java:195) at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.transferSingle(MirrorRequest.java:170) at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.transfer(MirrorRequest.java:154) at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.perform(MirrorRequest.java:95) at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.getArtifact(SimpleArtifactRepository.java:508) at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.getArtifacts(SimpleArtifactRepository.java:564) at org.eclipse.equinox.internal.p2.updatesite.artifact.UpdateSiteArtifactRepository.getArtifacts(UpdateSiteArtifactRepository.java:64) at org.eclipse.equinox.internal.p2.engine.DownloadManager.fetch(DownloadManager.java:109) at org.eclipse.equinox.internal.p2.engine.DownloadManager.start(DownloadManager.java:97) at org.eclipse.equinox.internal.provisional.p2.engine.phases.Collect.completePhase(Collect.java:73) at org.eclipse.equinox.internal.provisional.p2.engine.Phase.postPerform(Phase.java:165) at org.eclipse.equinox.internal.provisional.p2.engine.Phase.perform(Phase.java:69) at org.eclipse.equinox.internal.provisional.p2.engine.PhaseSet.perform(PhaseSet.java:44) at org.eclipse.equinox.internal.provisional.p2.engine.Engine.perform(Engine.java:51) at org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:41) at org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:23) at org.eclipse.equinox.internal.p2.director.SimpleDirector.provision(SimpleDirector.java:53) at org.eclipse.equinox.p2.tests.touchpoint.eclipse.AddRepositoryActionTest.testBug266881(AddRepositoryActionTest.java:223) at org.eclipse.equinox.p2.tests.AbstractProvisioningTest.runTest(AbstractProvisioningTest.java:763) at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:354) at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:206) at org.eclipse.test.CoreTestApplication.runTests(CoreTestApplication.java:35) at org.eclipse.test.CoreTestApplication.run(CoreTestApplication.java:31) at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:574) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:32) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) at org.eclipse.equinox.launcher.Main.run(Main.java:1287) at org.eclipse.equinox.launcher.Main.main(Main.java:1263) at org.eclipse.core.launcher.Main.main(Main.java:34)
Oh, I see this patch was already released. Closing.