cleanup the Java divide by zero end-to-end test

Summary:public
This just simplifies the end-to-end tests for Dividde By Zero to make the debugging easier when this test fails.

Reviewed By: cristianoc

Differential Revision: D2966296

fb-gh-sync-id: 5eaa1b5
shipit-source-id: 5eaa1b5
master
jrm 9 years ago committed by facebook-github-bot-1
parent 73a07dc44e
commit ba4dbef2d9

@ -10,9 +10,7 @@
package endtoend.java.infer;
import static org.hamcrest.MatcherAssert.assertThat;
import static utils.matchers.ResultContainsErrorInMethod.contains;
import static utils.matchers.ResultContainsLineNumbers.containsLines;
import static utils.matchers.ResultContainsOnlyTheseErrors.containsOnly;
import static utils.matchers.ResultContainsExactly.containsExactly;
import org.junit.BeforeClass;
import org.junit.Test;
@ -24,7 +22,7 @@ import utils.InferResults;
public class DivideByZeroTest {
public static final String DivideByZero =
public static final String SOURCE_FILE =
"infer/tests/codetoanalyze/java/infer/DivideByZero.java";
public static final String DIVIDE_BY_ZERO = "DIVIDE_BY_ZERO";
@ -33,74 +31,22 @@ public class DivideByZeroTest {
@BeforeClass
public static void loadResults() throws InterruptedException, IOException {
inferResults = InferResults.loadInferResults(DivideByZeroTest.class, DivideByZero);
inferResults = InferResults.loadInferResults(DivideByZeroTest.class, SOURCE_FILE);
}
@Test
public void whenInferRunsOnDivideByZeroLocalThenDivideByZeroErrorFound()
throws InterruptedException, IOException, InferException {
assertThat(
"Results should contain divide by zero error.", inferResults,
contains(
DIVIDE_BY_ZERO,
DivideByZero,
"divByZeroLocal"
)
);
}
@Test
public void whenInferRunsOnCallDivideByZeroInterProcThenDivideByZeroErrorFound()
throws InterruptedException, IOException, InferException {
assertThat(
"Results should contain divide by zero error.",
inferResults,
contains(
DIVIDE_BY_ZERO,
DivideByZero,
"callDivideByZeroInterProc"
)
);
}
@Test
public void whenInferRunsOnDivideByZeroWithStaticFieldThenDivideByZeroErrorFound()
throws InterruptedException, IOException, InferException {
assertThat(
"Results should contain divide by zero error.",
inferResults,
contains(
DIVIDE_BY_ZERO,
DivideByZero,
"divideByZeroWithStaticField"
)
);
}
@Test
public void whenInferRunsOnDivideByZeroThenTheLineNumbersAreReportedCorr()
throws InterruptedException, IOException, InferException {
int[] lines = {28};
assertThat(
"Result should contain correct line numbers.",
inferResults,
containsLines(lines));
}
@Test
public void whenInferRunsOnDivideByZeroThenOnlyTheExpectedErrorsAreFound()
throws InterruptedException, IOException, InferException {
String[] expectedMethods = {
"divByZeroLocal",
"callDivideByZeroInterProc",
"divideByZeroWithStaticField"
public void matchErrors()
throws IOException, InterruptedException, InferException {
String[] methods = {
"divByZeroLocal",
"callDivideByZeroInterProc",
"divideByZeroWithStaticField",
};
assertThat(
"No unexpected errors should be found", inferResults,
containsOnly(
DIVIDE_BY_ZERO,
DivideByZero,
expectedMethods));
assertThat("Results should contain " + DIVIDE_BY_ZERO,
inferResults,
containsExactly(DIVIDE_BY_ZERO,
SOURCE_FILE,
methods));
}
}

Loading…
Cancel
Save