@LocalData("All") @Test public void persistence() throws Exception { project.scheduleBuild2(0).get(60, TimeUnit.SECONDS); reloadJenkins(); FreeStyleBuild build = project.getBuildByNumber(1); assertTestResults(build); }
@Test public void reloadJenkinsAndFindBuildInProgress() throws Exception { Folder f1 = r.jenkins.createProject(Folder.class, "f"); FreeStyleProject p1 = f1.createProject(FreeStyleProject.class, "test1"); FreeStyleBuild p1b1 = p1.scheduleBuild2(0).get(); // one completed build p1.getBuildersList().add(new SleepBuilder(99999999)); p1.save(); FreeStyleBuild p1b2 = p1.scheduleBuild2(0).waitForStart(); // another build in progress // trigger the full Jenkins reload r.jenkins.reload(); Folder f2 = (Folder) r.jenkins.getItem("f"); assertNotSame(f1,f2); FreeStyleProject p2 = (FreeStyleProject) f2.getItem("test1"); /* Fails now. Why was this here? assertNotSame(p1,p2); */ FreeStyleBuild p2b1 = p2.getBuildByNumber(1); FreeStyleBuild p2b2 = p2.getBuildByNumber(2); assertTrue(p2b2.isBuilding()); assertSame(p2b2,p1b2); assertNotSame(p1b1,p2b1); p1b2.getExecutor().interrupt(); // kill the executor }
/** * Test the behaviour of "Build Current Patches Only" functionality when: * - Abort manual patch sets is false. * - Abort new patch sets is true. * - 2 changes with different branches trigger builds. * * @throws Exception if so. */ @Test @LocalData public void testBuildLatestPatchsetOnlyNonRelatedChangeCannotAbort() throws Exception { BuildCancellationPolicy policy = gerritServer.getConfig().getBuildCurrentPatchesOnly(); policy.setEnabled(true); policy.setAbortManualPatchsets(false); policy.setAbortNewPatchsets(false); Random rand = new Random(); FreeStyleProject project = DuplicatesUtil.createGerritTriggeredJob(j, "project" + rand.nextInt()); project.getBuildersList().add(new SleepBuilder(2000)); serverMock.waitForCommand(GERRIT_STREAM_EVENTS, 2000); PatchsetCreated firstEvent = Setup.createPatchsetCreated(PluginImpl.DEFAULT_SERVER_NAME, "gerrit-project-1", "refabc"); gerritServer.triggerEvent(firstEvent); PatchsetCreated secondEvent = Setup.createPatchsetCreated(PluginImpl.DEFAULT_SERVER_NAME, "gerrit-project-2", "refabc"); gerritServer.triggerEvent(secondEvent); TestUtils.waitForBuilds(project, 2); //both should succeed since gerrit project not the same assertEquals(Result.SUCCESS, project.getFirstBuild().getResult()); assertEquals(Result.SUCCESS, project.getBuildByNumber(2).getResult()); }
assertEquals(Result.SUCCESS, project.getBuildByNumber(2).getResult());
FreeStyleBuild build4 = project.getBuildByNumber(4); assertNotNull("build4", build4); rule.assertBuildStatus(Result.FAILURE, build4); FreeStyleBuild build7 = project.getBuildByNumber(7); assertNotNull("build7", build7); rule.assertBuildStatus(Result.SUCCESS, build7); TestResult tr5 = project.getBuildByNumber(5).getAction(TestResultAction.class).getResult(); assertEquals(1,tr5.getFailedTests().size()); deepPackage = tr5.byPackage("org.jvnet.hudson.examples.small.deep");
assertEquals(3, project.getLastCompletedBuild().getNumber()); assertSame(firstExpected, project.getFirstBuild().getResult()); assertSame(secondExpected, project.getBuildByNumber(2).getResult()); assertSame(thirdExpected, project.getBuildByNumber(3).getResult());
assertEquals(Result.SUCCESS, project.getBuildByNumber(2).getResult());
assertEquals(Result.SUCCESS, project.getBuildByNumber(2).getResult());