Package hudson.model

Examples of hudson.model.FreeStyleProject


  private String withVariable(String s) {
    return s + "${" + DUMMY_LOCATION_VARNAME + "}";
  }

  public void testFreeStyleShellOnSlave() throws Exception {
    FreeStyleProject project = createFreeStyleProject();
    if (Os.isFamily("dos")) {
      project.getBuildersList().add(new BatchFile("echo %JAVA_HOME%"));
    } else {
      project.getBuildersList().add(new Shell("echo \"$JAVA_HOME\""));
    }
    project.setJDK(hudson.getJDK("varJDK"));

    // set appropriate SCM to get the necessary build files
    project.setScm(new ExtractResourceSCM(getClass().getResource(
        "/simple-projects.zip")));

    // test the regular slave - variable not expanded
    project.setAssignedLabel(slaveRegular.getSelfLabel());
    FreeStyleBuild build = project.scheduleBuild2(0).get();
    System.out.println(build.getDisplayName() + " completed");

    assertBuildStatusSuccess(build);

    String buildLogRegular = getBuildLog(build);
    System.out.println(buildLogRegular);
    assertTrue(buildLogRegular.contains(DUMMY_LOCATION_VARNAME));

    // test the slave with prepared environment
    project.setAssignedLabel(slaveEnv.getSelfLabel());
    build = project.scheduleBuild2(0).get();
    System.out.println(build.getDisplayName() + " completed");

    assertBuildStatusSuccess(build);

    // Check variable was expanded
View Full Code Here


  public void testFreeStyleAntOnSlave() throws Exception {
        if (hudson.getDescriptorByType(Ant.DescriptorImpl.class).getInstallations().length == 0) {
            System.out.println("Cannot do testFreeStyleAntOnSlave without ANT_HOME");
            return;
        }
    FreeStyleProject project = createFreeStyleProject();
    project.setJDK(hudson.getJDK("varJDK"));
    project.setScm(new ExtractResourceSCM(getClass().getResource(
        "/simple-projects.zip")));

    String buildFile = "build.xml${" + DUMMY_LOCATION_VARNAME + "}";
    // we need additional escapes because bash itself expanding
    project.getBuildersList().add(
        new Ant("-Dtest.property=cor${" + DUMMY_LOCATION_VARNAME
            + "}rect", "varAnt", "", buildFile, ""));

    // test the regular slave - variable not expanded
    project.setAssignedLabel(slaveRegular.getSelfLabel());
    FreeStyleBuild build = project.scheduleBuild2(0).get();
    System.out.println(build.getDisplayName() + " completed");

    assertBuildStatus(Result.FAILURE, build);

    String buildLogRegular = getBuildLog(build);
    assertTrue(buildLogRegular.contains(Ant_ExecutableNotFound("varAnt")));

    // test the slave with prepared environment
    project.setAssignedLabel(slaveEnv.getSelfLabel());
    build = project.scheduleBuild2(0).get();
    System.out.println(build.getDisplayName() + " completed");

    assertBuildStatusSuccess(build);

    // Check variable was expanded
View Full Code Here

    assertFalse(buildLogEnv.matches("(?s)^.*Test property: [^\\n\\r]*"
        + DUMMY_LOCATION_VARNAME + ".*$"));
  }

  public void testFreeStyleMavenOnSlave() throws Exception {
    FreeStyleProject project = createFreeStyleProject();
    project.setJDK(hudson.getJDK("varJDK"));
    project.setScm(new ExtractResourceSCM(getClass().getResource(
        "/simple-projects.zip")));

    project.getBuildersList().add(
                new Maven("test", "varMaven", "pom.xml${"
              + DUMMY_LOCATION_VARNAME + "}", "", "",
              false));

    // test the regular slave - variable not expanded
    project.setAssignedLabel(slaveRegular.getSelfLabel());
    FreeStyleBuild build = project.scheduleBuild2(0).get();
    System.out.println(build.getDisplayName() + " completed");

    assertBuildStatus(Result.FAILURE, build);

    String buildLogRegular = getBuildLog(build);
    System.out.println(buildLogRegular);
    assertTrue(buildLogRegular.contains(DUMMY_LOCATION_VARNAME));

    // test the slave with prepared environment
    project.setAssignedLabel(slaveEnv.getSelfLabel());
    build = project.scheduleBuild2(0).get();
    System.out.println(build.getDisplayName() + " completed");

    assertBuildStatusSuccess(build);

    // Check variable was expanded
View Full Code Here

* Verifies that the last successful and stable builds of a job will be kept if requested.
*/
public class LogRotatorTest extends HudsonTestCase {

    public void testSuccessVsFailure() throws Exception {
        FreeStyleProject project = createFreeStyleProject();
        project.setLogRotator(new LogRotator(-1, 2, -1, -1));
        assertEquals(Result.SUCCESS, build(project)); // #1
        project.getBuildersList().replaceBy(Collections.singleton(new FailureBuilder()));
        assertEquals(Result.FAILURE, build(project)); // #2
        assertEquals(Result.FAILURE, build(project)); // #3
        assertEquals(1, numberOf(project.getLastSuccessfulBuild()));
        project.getBuildersList().replaceBy(Collections.<Builder>emptySet());
        assertEquals(Result.SUCCESS, build(project)); // #4
        assertEquals(4, numberOf(project.getLastSuccessfulBuild()));
        assertEquals(null, project.getBuildByNumber(1));
        assertEquals(null, project.getBuildByNumber(2));
        assertEquals(3, numberOf(project.getLastFailedBuild()));
    }
View Full Code Here

        assertEquals(3, numberOf(project.getLastFailedBuild()));
    }

    @Bug(2417)
    public void testStableVsUnstable() throws Exception {
        FreeStyleProject project = createFreeStyleProject();
        project.setLogRotator(new LogRotator(-1, 2, -1, -1));
        assertEquals(Result.SUCCESS, build(project)); // #1
        project.getPublishersList().replaceBy(Collections.singleton(new TestsFail()));
        assertEquals(Result.UNSTABLE, build(project)); // #2
        assertEquals(Result.UNSTABLE, build(project)); // #3
        assertEquals(1, numberOf(project.getLastStableBuild()));
        project.getPublishersList().replaceBy(Collections.<Publisher>emptySet());
        assertEquals(Result.SUCCESS, build(project)); // #4
        assertEquals(null, project.getBuildByNumber(1));
        assertEquals(null, project.getBuildByNumber(2));
    }
View Full Code Here

        assertEquals(null, project.getBuildByNumber(2));
    }

    @Bug(834)
    public void testArtifactDelete() throws Exception {
        FreeStyleProject project = createFreeStyleProject();
        project.setLogRotator(new LogRotator(-1, 6, -1, 2));
        project.getPublishersList().replaceBy(Collections.singleton(new ArtifactArchiver("f", "", true)));
        assertEquals("(no artifacts)", Result.FAILURE, build(project)); // #1
        assertFalse(project.getBuildByNumber(1).getHasArtifacts());
        project.getBuildersList().replaceBy(Collections.singleton(new CreateArtifact()));
        assertEquals(Result.SUCCESS, build(project)); // #2
        assertTrue(project.getBuildByNumber(2).getHasArtifacts());
        project.getBuildersList().replaceBy(Arrays.asList(new CreateArtifact(), new FailureBuilder()));
        assertEquals(Result.FAILURE, build(project)); // #3
        assertTrue(project.getBuildByNumber(2).getHasArtifacts());
        assertTrue(project.getBuildByNumber(3).getHasArtifacts());
        assertEquals(Result.FAILURE, build(project)); // #4
        assertTrue(project.getBuildByNumber(2).getHasArtifacts());
        assertTrue(project.getBuildByNumber(3).getHasArtifacts());
        assertTrue(project.getBuildByNumber(4).getHasArtifacts());
        assertEquals(Result.FAILURE, build(project)); // #5
        assertTrue(project.getBuildByNumber(2).getHasArtifacts());
        assertFalse("no better than #4", project.getBuildByNumber(3).getHasArtifacts());
        assertTrue(project.getBuildByNumber(4).getHasArtifacts());
        assertTrue(project.getBuildByNumber(5).getHasArtifacts());
        project.getBuildersList().replaceBy(Collections.singleton(new CreateArtifact()));
        assertEquals(Result.SUCCESS, build(project)); // #6
        assertFalse("#2 is still lastSuccessful until #6 is complete", project.getBuildByNumber(2).getHasArtifacts());
        assertFalse(project.getBuildByNumber(3).getHasArtifacts());
        assertFalse(project.getBuildByNumber(4).getHasArtifacts());
        assertTrue(project.getBuildByNumber(5).getHasArtifacts());
        assertTrue(project.getBuildByNumber(6).getHasArtifacts());
        assertEquals(Result.SUCCESS, build(project)); // #7
        assertEquals(null, project.getBuildByNumber(1));
        assertNotNull(project.getBuildByNumber(2));
        assertFalse("lastSuccessful was #6 for ArtifactArchiver", project.getBuildByNumber(2).getHasArtifacts());
        assertFalse(project.getBuildByNumber(3).getHasArtifacts());
        assertFalse(project.getBuildByNumber(4).getHasArtifacts());
        assertFalse(project.getBuildByNumber(5).getHasArtifacts());
        assertTrue(project.getBuildByNumber(6).getHasArtifacts());
        assertTrue(project.getBuildByNumber(7).getHasArtifacts());
        assertEquals(Result.SUCCESS, build(project)); // #8
        assertEquals(null, project.getBuildByNumber(2));
        assertNotNull(project.getBuildByNumber(3));
        assertFalse(project.getBuildByNumber(3).getHasArtifacts());
        assertFalse(project.getBuildByNumber(4).getHasArtifacts());
        assertFalse(project.getBuildByNumber(5).getHasArtifacts());
        assertFalse(project.getBuildByNumber(6).getHasArtifacts());
        assertTrue(project.getBuildByNumber(7).getHasArtifacts());
        assertTrue(project.getBuildByNumber(8).getHasArtifacts());
    }
View Full Code Here

    @Deprecated
    protected FreeStyleProject setupProject(String branchString, boolean authorOrCommitter,
                                          String relativeTargetDir, String excludedRegions,
                                          String excludedUsers, String localBranch) throws Exception {
        FreeStyleProject project = createFreeStyleProject();
        project.setScm(new GitSCM(
            createRemoteRepositories(relativeTargetDir),
            Collections.singletonList(new BranchSpec(branchString)),
            new PreBuildMergeOptions(), false, Collections.<SubmoduleConfig>emptyList(), false,
            false, new DefaultBuildChooser(), null, null, authorOrCommitter, relativeTargetDir,
            excludedRegions, excludedUsers, localBranch, false, false, null, null, false));
        project.getBuildersList().add(new CaptureEnvironmentBuilder());
        return project;
    }
View Full Code Here

    protected FreeStyleProject setupProject(String branchString, boolean authorOrCommitter,
                                          String relativeTargetDir, String excludedRegions,
                                          String excludedUsers, String localBranch,
                                          String includedRegions) throws Exception {
        FreeStyleProject project = createFreeStyleProject();
        project.setScm(new GitSCM(
            createRemoteRepositories(relativeTargetDir),
            Collections.singletonList(new BranchSpec(branchString)),
            new PreBuildMergeOptions(), false, Collections.<SubmoduleConfig>emptyList(), false,
            false, new DefaultBuildChooser(), null, null, authorOrCommitter,
            excludedRegions, excludedUsers, localBranch, false, false, null, null, false, includedRegions));
        project.getBuildersList().add(new CaptureEnvironmentBuilder());
        return project;
    }
View Full Code Here

public class GitExcludeIncludeTest extends AbstractGitTestCase {


    public void testBasicIncludedRegion() throws Exception {
        FreeStyleProject project = setupProject("master", false, null, null, null, null, ".*3");

        // create initial commit and then run the build against it:
        final String commitFile1 = "commitFile1";
        commit(commitFile1, johnDoe, "Commit number 1");
        build(project, Result.SUCCESS, commitFile1);

        assertFalse("scm polling should not detect any more changes after build", project.pollSCMChanges(listener));

        final String commitFile2 = "commitFile2";
        commit(commitFile2, janeDoe, "Commit number 2");
        assertFalse("scm polling detected commit2 change, which should not have been included",
            project.pollSCMChanges(listener));

        final String commitFile3 = "commitFile3";
        commit(commitFile3, johnDoe, "Commit number 3");
        assertTrue("scm polling did not detect commit3 change", project.pollSCMChanges(listener));
        //... and build it...
        final FreeStyleBuild build2 = build(project, Result.SUCCESS, commitFile2, commitFile3);
        final Set<User> culprits = build2.getCulprits();
        assertEquals("The build should have two culprit", 2, culprits.size());
        assertTrue("User janeDoe is absent in culprits", doesCulpritsContainUser(culprits, janeDoe.getName()));
        assertTrue("User johnDoe is absent in culprits", doesCulpritsContainUser(culprits, johnDoe.getName()));
        assertTrue(build2.getWorkspace().child(commitFile2).exists());
        assertTrue(build2.getWorkspace().child(commitFile3).exists());
        assertBuildStatusSuccess(build2);
        assertFalse("scm polling should not detect any more changes after build", project.pollSCMChanges(listener));
    }
View Full Code Here

        assertBuildStatusSuccess(build2);
        assertFalse("scm polling should not detect any more changes after build", project.pollSCMChanges(listener));
    }

    public void testBasicExcludedRegion() throws Exception {
        FreeStyleProject project = setupProject("master", false, null, ".*2", null);

        // create initial commit and then run the build against it:
        final String commitFile1 = "commitFile1";
        commit(commitFile1, johnDoe, "Commit number 1");
        build(project, Result.SUCCESS, commitFile1);

        assertFalse("scm polling should not detect any more changes after build", project.pollSCMChanges(listener));

        final String commitFile2 = "commitFile2";
        commit(commitFile2, janeDoe, "Commit number 2");
        assertFalse("scm polling detected commit2 change, which should have been excluded",
            project.pollSCMChanges(listener));

        final String commitFile3 = "commitFile3";
        commit(commitFile3, johnDoe, "Commit number 3");
        assertTrue("scm polling did not detect commit3 change", project.pollSCMChanges(listener));
        //... and build it...
        final FreeStyleBuild build2 = build(project, Result.SUCCESS, commitFile2, commitFile3);
        final Set<User> culprits = build2.getCulprits();
        assertEquals("The build should have two culprit", 2, culprits.size());
        assertTrue("User janeDoe is absent in culprits", doesCulpritsContainUser(culprits, janeDoe.getName()));
        assertTrue("User johnDoe is absent in culprits", doesCulpritsContainUser(culprits, johnDoe.getName()));
        assertTrue(build2.getWorkspace().child(commitFile2).exists());
        assertTrue(build2.getWorkspace().child(commitFile3).exists());
        assertBuildStatusSuccess(build2);
        assertFalse("scm polling should not detect any more changes after build", project.pollSCMChanges(listener));
    }
View Full Code Here

TOP

Related Classes of hudson.model.FreeStyleProject

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.