If the user-specified message to an assertion is non-null, still include the generated message.
Summary:
Previously, ProjectWorkspace.ProcessResult.assertExitCode(message, exitCode) would
not tell the user what the observed exit code was if message were non-null.
In the style of org.junit.Assert.assertEquals(message, expected, observed), if
message is non-null, it is prepended to JUnit's built-in messaging about the
inequality between expected and observed.
Test Plan: Sandcastle builds.
diff --git a/test/com/facebook/buck/testutil/integration/ProjectWorkspace.java b/test/com/facebook/buck/testutil/integration/ProjectWorkspace.java
index fe464d5..103eb97 100644
--- a/test/com/facebook/buck/testutil/integration/ProjectWorkspace.java
+++ b/test/com/facebook/buck/testutil/integration/ProjectWorkspace.java
@@ -159,22 +159,23 @@
assertExitCode(null, exitCode);
}
- public void assertExitCode(String message, int exitCode) {
+ public void assertExitCode(@Nullable String message, int exitCode) {
if (exitCode == getExitCode()) {
return;
}
- String failureMessage = String.format("Expected exit code %d but was %d.", exitCode, getExitCode());
+ String failureMessage = String.format(
+ "Expected exit code %d but was %d.", exitCode, getExitCode());
+ if (message != null) {
+ failureMessage = message + " " + failureMessage;
+ }
+
System.err.println("=== " + failureMessage + " ===");
System.err.println("=== STDERR ===");
System.err.println(getStderr());
System.err.println("=== STDOUT ===");
System.err.println(getStdout());
- if (message != null) {
- fail(message);
- } else {
- fail(failureMessage);
- }
+ fail(failureMessage);
}
}