use of fr.inria.spirals.repairnator.process.inspectors.ProjectInspector in project repairnator by Spirals-Team.
the class TestComputeSourceDir method testComputeSourceDirWithReflexiveReferences.
@Test
public void testComputeSourceDirWithReflexiveReferences() throws IOException {
int buildId = 345990212;
Build build = BuildHelper.getBuildFromId(buildId, null);
assertThat(build, notNullValue());
assertThat(buildId, is(build.getId()));
Path tmpDirPath = Files.createTempDirectory("test_computesourcedirOverflow");
File tmpDir = tmpDirPath.toFile();
tmpDir.deleteOnExit();
File repoDir = new File(tmpDir, "repo");
BuildToBeInspected toBeInspected = new BuildToBeInspected(build, null, ScannedBuildStatus.ONLY_FAIL, "");
ProjectInspector inspector = mock(ProjectInspector.class);
when(inspector.getWorkspace()).thenReturn(tmpDir.getAbsolutePath());
when(inspector.getRepoLocalPath()).thenReturn(tmpDir.getAbsolutePath() + "/repo");
when(inspector.getBuildToBeInspected()).thenReturn(toBeInspected);
when(inspector.getBuggyBuild()).thenReturn(build);
when(inspector.getM2LocalPath()).thenReturn(tmpDir.getAbsolutePath() + "/.m2");
when(inspector.getGitHelper()).thenReturn(new GitHelper());
JobStatus jobStatus = new JobStatus(tmpDir.getAbsolutePath() + "/repo");
jobStatus.setFailingModulePath(repoDir.getAbsolutePath());
when(inspector.getJobStatus()).thenReturn(jobStatus);
CloneRepository cloneStep = new CloneRepository(inspector);
ComputeSourceDir computeSourceDir = new ComputeSourceDir(inspector, false);
cloneStep.setNextStep(new CheckoutBuggyBuild(inspector)).setNextStep(computeSourceDir);
cloneStep.execute();
assertThat(computeSourceDir.shouldStop, is(false));
assertThat(computeSourceDir.getPipelineState(), is(PipelineState.SOURCEDIRNOTCOMPUTED));
assertThat(jobStatus.getPipelineState(), is(PipelineState.SOURCEDIRNOTCOMPUTED));
}
use of fr.inria.spirals.repairnator.process.inspectors.ProjectInspector in project repairnator by Spirals-Team.
the class TestComputeTestDir method testComputeTestDirWithReflexiveReferences.
@Test
public void testComputeTestDirWithReflexiveReferences() throws IOException {
int buildId = 345990212;
Build build = BuildHelper.getBuildFromId(buildId, null);
assertThat(build, notNullValue());
assertThat(buildId, is(build.getId()));
Path tmpDirPath = Files.createTempDirectory("computetestdir");
File tmpDir = tmpDirPath.toFile();
tmpDir.deleteOnExit();
File repoDir = new File(tmpDir, "repo");
BuildToBeInspected toBeInspected = new BuildToBeInspected(build, null, ScannedBuildStatus.ONLY_FAIL, "");
ProjectInspector inspector = mock(ProjectInspector.class);
when(inspector.getWorkspace()).thenReturn(tmpDir.getAbsolutePath());
when(inspector.getRepoLocalPath()).thenReturn(tmpDir.getAbsolutePath() + "/repo");
when(inspector.getBuildToBeInspected()).thenReturn(toBeInspected);
when(inspector.getBuggyBuild()).thenReturn(build);
when(inspector.getM2LocalPath()).thenReturn(tmpDir.getAbsolutePath() + "/.m2");
when(inspector.getGitHelper()).thenReturn(new GitHelper());
JobStatus jobStatus = new JobStatus(tmpDir.getAbsolutePath() + "/repo");
jobStatus.setFailingModulePath(repoDir.getAbsolutePath());
when(inspector.getJobStatus()).thenReturn(jobStatus);
CloneRepository cloneStep = new CloneRepository(inspector);
ComputeTestDir computeTestDir = new ComputeTestDir(inspector);
cloneStep.setNextStep(new CheckoutBuggyBuild(inspector)).setNextStep(computeTestDir);
cloneStep.execute();
assertThat(computeTestDir.shouldStop, is(false));
assertThat(computeTestDir.getPipelineState(), is(PipelineState.TESTDIRNOTCOMPUTED));
assertThat(jobStatus.getPipelineState(), is(PipelineState.TESTDIRNOTCOMPUTED));
}
use of fr.inria.spirals.repairnator.process.inspectors.ProjectInspector in project repairnator by Spirals-Team.
the class TestGatherTestInformation method testGatherTestInformationWhenNotFailingWithPassingContract.
@Test
public void testGatherTestInformationWhenNotFailingWithPassingContract() throws IOException {
// surli/failingProject build
int buildId = 201176013;
Build build = BuildHelper.getBuildFromId(buildId, null);
assertThat(build, notNullValue());
assertThat(buildId, is(build.getId()));
Path tmpDirPath = Files.createTempDirectory("test_gathertest");
File tmpDir = tmpDirPath.toFile();
tmpDir.deleteOnExit();
System.out.println("Dirpath : " + tmpDirPath);
BuildToBeInspected toBeInspected = new BuildToBeInspected(build, null, ScannedBuildStatus.ONLY_FAIL, "");
ProjectInspector inspector = mock(ProjectInspector.class);
when(inspector.getWorkspace()).thenReturn(tmpDir.getAbsolutePath());
when(inspector.getRepoLocalPath()).thenReturn(tmpDir.getAbsolutePath() + "/repo");
when(inspector.getBuildToBeInspected()).thenReturn(toBeInspected);
when(inspector.getBuggyBuild()).thenReturn(build);
when(inspector.getM2LocalPath()).thenReturn(tmpDir.getAbsolutePath() + "/.m2");
when(inspector.getGitHelper()).thenReturn(new GitHelper());
JobStatus jobStatus = new JobStatus(tmpDir.getAbsolutePath() + "/repo");
when(inspector.getJobStatus()).thenReturn(jobStatus);
CloneRepository cloneStep = new CloneRepository(inspector);
GatherTestInformation gatherTestInformation = new GatherTestInformation(inspector, new BuildShouldPass(), false);
cloneStep.setNextStep(new CheckoutBuggyBuild(inspector)).setNextStep(new TestProject(inspector)).setNextStep(gatherTestInformation);
cloneStep.execute();
assertThat(gatherTestInformation.shouldStop, is(false));
assertThat(gatherTestInformation.getPipelineState(), is(PipelineState.NOTFAILING));
assertThat(jobStatus.getPipelineState(), is(PipelineState.NOTFAILING));
assertThat(jobStatus.getFailingModulePath(), is(tmpDir.getAbsolutePath() + "/repo"));
assertThat(gatherTestInformation.getNbTotalTests(), is(1));
assertThat(gatherTestInformation.getNbFailingTests(), is(0));
assertThat(gatherTestInformation.getNbErroringTests(), is(0));
assertThat(gatherTestInformation.getNbSkippingTests(), is(0));
Set<String> failureNames = jobStatus.getMetrics().getFailureNames();
assertThat(failureNames.size(), is(0));
assertThat(jobStatus.getFailureLocations().size(), is(0));
}
use of fr.inria.spirals.repairnator.process.inspectors.ProjectInspector in project repairnator by Spirals-Team.
the class TestGatherTestInformation method testGatherTestInformationWhenFailing.
@Test
public void testGatherTestInformationWhenFailing() throws IOException {
// surli/failingProject build
int buildId = 207890790;
Build build = BuildHelper.getBuildFromId(buildId, null);
assertThat(build, notNullValue());
assertThat(buildId, is(build.getId()));
Path tmpDirPath = Files.createTempDirectory("test_gathertest");
File tmpDir = tmpDirPath.toFile();
tmpDir.deleteOnExit();
System.out.println("Dirpath : " + tmpDirPath);
File repoDir = new File(tmpDir, "repo");
BuildToBeInspected toBeInspected = new BuildToBeInspected(build, null, ScannedBuildStatus.ONLY_FAIL, "");
ProjectInspector inspector = mock(ProjectInspector.class);
when(inspector.getWorkspace()).thenReturn(tmpDir.getAbsolutePath());
when(inspector.getRepoLocalPath()).thenReturn(tmpDir.getAbsolutePath() + "/repo");
when(inspector.getBuildToBeInspected()).thenReturn(toBeInspected);
when(inspector.getBuggyBuild()).thenReturn(build);
when(inspector.getM2LocalPath()).thenReturn(tmpDir.getAbsolutePath() + "/.m2");
when(inspector.getGitHelper()).thenReturn(new GitHelper());
JobStatus jobStatus = new JobStatus(tmpDir.getAbsolutePath() + "/repo");
when(inspector.getJobStatus()).thenReturn(jobStatus);
CloneRepository cloneStep = new CloneRepository(inspector);
GatherTestInformation gatherTestInformation = new GatherTestInformation(inspector, new BuildShouldFail(), false);
cloneStep.setNextStep(new CheckoutBuggyBuild(inspector)).setNextStep(new TestProject(inspector)).setNextStep(gatherTestInformation);
cloneStep.execute();
assertThat(gatherTestInformation.shouldStop, is(false));
assertThat(gatherTestInformation.getPipelineState(), is(PipelineState.HASTESTFAILURE));
assertThat(jobStatus.getPipelineState(), is(PipelineState.HASTESTFAILURE));
assertThat(jobStatus.getFailingModulePath(), is(repoDir.getCanonicalPath()));
assertThat(gatherTestInformation.getNbTotalTests(), is(98));
assertThat(gatherTestInformation.getNbFailingTests(), is(26));
assertThat(gatherTestInformation.getNbErroringTests(), is(5));
assertThat(gatherTestInformation.getNbSkippingTests(), is(0));
Set<String> failureNames = jobStatus.getMetrics().getFailureNames();
assertThat(failureNames.contains("java.lang.StringIndexOutOfBoundsException"), is(true));
assertThat(failureNames.size(), is(5));
assertThat(jobStatus.getFailureLocations().size(), is(10));
}
use of fr.inria.spirals.repairnator.process.inspectors.ProjectInspector in project repairnator by Spirals-Team.
the class TestTestProject method testTestProjectWhenFailing.
@Test
public void testTestProjectWhenFailing() throws IOException {
// surli/failingProject build
int buildId = 207890790;
Build build = BuildHelper.getBuildFromId(buildId, null);
assertThat(build, notNullValue());
assertThat(buildId, is(build.getId()));
Path tmpDirPath = Files.createTempDirectory("test_testproject");
File tmpDir = tmpDirPath.toFile();
tmpDir.deleteOnExit();
BuildToBeInspected toBeInspected = new BuildToBeInspected(build, null, ScannedBuildStatus.ONLY_FAIL, "");
ProjectInspector inspector = mock(ProjectInspector.class);
when(inspector.getWorkspace()).thenReturn(tmpDir.getAbsolutePath());
when(inspector.getRepoLocalPath()).thenReturn(tmpDir.getAbsolutePath() + "/repo");
when(inspector.getBuildToBeInspected()).thenReturn(toBeInspected);
when(inspector.getBuggyBuild()).thenReturn(build);
when(inspector.getM2LocalPath()).thenReturn(tmpDir.getAbsolutePath() + "/.m2");
when(inspector.getGitHelper()).thenReturn(new GitHelper());
JobStatus jobStatus = new JobStatus(tmpDir.getAbsolutePath() + "/repo");
when(inspector.getJobStatus()).thenReturn(jobStatus);
CloneRepository cloneStep = new CloneRepository(inspector);
TestProject testProject = new TestProject(inspector);
cloneStep.setNextStep(new CheckoutBuggyBuild(inspector)).setNextStep(testProject);
cloneStep.execute();
assertThat(testProject.shouldStop, is(false));
assertThat(testProject.getPipelineState(), is(PipelineState.TESTABLE));
assertThat(jobStatus.getPipelineState(), is(PipelineState.TESTABLE));
}
Aggregations