Skip to content

Commit

Permalink
[#561][#650][#424][#541][#663][#672] added exit code tests
Browse files Browse the repository at this point in the history
  • Loading branch information
remkop committed Apr 29, 2019
1 parent 1ddb0f1 commit 7084f29
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions src/test/java/picocli/ExecuteTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -973,4 +973,47 @@ public void testRethrowCauseIfDisallowsNull() throws Throwable {
PicocliException exception = new PicocliException("", new IOException("blah"));
exception.rethrowCauseIf(null);
}

@Test
public void testCommandSpecDefaultExitCodes() {
CommandSpec spec = CommandSpec.create();
assertEquals(ExitCode.OK, spec.exitCodeOnSuccess());
assertEquals(ExitCode.OK, spec.exitCodeOnUsageHelp());
assertEquals(ExitCode.OK, spec.exitCodeOnVersionHelp());
assertEquals(ExitCode.USAGE, spec.exitCodeOnInvalidInput());
assertEquals(ExitCode.SOFTWARE, spec.exitCodeOnExecutionException());
}

@Test
public void testCommandSpecExitCodesMutable() {
CommandSpec spec = CommandSpec.create();
spec.exitCodeOnSuccess(1)
.exitCodeOnUsageHelp(2)
.exitCodeOnVersionHelp(3)
.exitCodeOnInvalidInput(4)
.exitCodeOnExecutionException(5);

assertEquals(1, spec.exitCodeOnSuccess());
assertEquals(2, spec.exitCodeOnUsageHelp());
assertEquals(3, spec.exitCodeOnVersionHelp());
assertEquals(4, spec.exitCodeOnInvalidInput());
assertEquals(5, spec.exitCodeOnExecutionException());
}

@Test
public void testCommandSpecExitCodesFromAnnotations() {
@Command(exitCodeOnSuccess = 1
, exitCodeOnUsageHelp = 2
, exitCodeOnVersionHelp = 3
, exitCodeOnInvalidInput = 4
, exitCodeOnExecutionException = 5)
class Annotated{}
CommandSpec spec = CommandSpec.forAnnotatedObject(new Annotated());

assertEquals(1, spec.exitCodeOnSuccess());
assertEquals(2, spec.exitCodeOnUsageHelp());
assertEquals(3, spec.exitCodeOnVersionHelp());
assertEquals(4, spec.exitCodeOnInvalidInput());
assertEquals(5, spec.exitCodeOnExecutionException());
}
}

0 comments on commit 7084f29

Please sign in to comment.