Browse Source

ConfigTest: Fix tests for getting empty config value as int

The tests were set up to expect an IllegalArgumentException when
the Config.getInt method was called with a section.key that has
not been set, or explicitly set to an empty string.

However, the IllegalArgumentException never gets thrown because
the getInt method returns the provided default ("1"), and because
there was no call to "fail" after getInt, the incorrect behavior
of the test was not noticed.

Remove the try/catch around getInt, and instead assert that the
expected default value is returned.

Found by Error Prone, which reported:

  Not calling fail() when expecting an exception masks bugs

See https://errorprone.info/bugpattern/MissingFail

Change-Id: Ie8e692aba9fb8523241fb8f298d57493923d9f78
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
stable-5.2
David Pursehouse 6 years ago
parent
commit
00698f9e27
  1. 12
      org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java

12
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java

@ -702,11 +702,7 @@ public class ConfigTest {
assertEquals("", c.getString("a", null, "y"));
assertArrayEquals(new String[]{""}, c.getStringList("a", null, "y"));
try {
c.getInt("a", null, "y", 1);
} catch (IllegalArgumentException e) {
assertEquals("Invalid integer value: a.y=", e.getMessage());
}
assertEquals(1, c.getInt("a", null, "y", 1));
assertNull(c.getString("a", null, "z"));
assertArrayEquals(new String[]{}, c.getStringList("a", null, "z"));
@ -723,11 +719,7 @@ public class ConfigTest {
assertNull(c.getString("a", null, "y"));
assertArrayEquals(new String[]{null}, c.getStringList("a", null, "y"));
try {
c.getInt("a", null, "y", 1);
} catch (IllegalArgumentException e) {
assertEquals("Invalid integer value: a.y=", e.getMessage());
}
assertEquals(1, c.getInt("a", null, "y", 1));
assertNull(c.getString("a", null, "z"));
assertArrayEquals(new String[]{}, c.getStringList("a", null, "z"));

Loading…
Cancel
Save