diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/Main.java b/src/main/java/com/puppycrawl/tools/checkstyle/Main.java index 88a681127..62e372ab7 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/Main.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/Main.java @@ -101,10 +101,9 @@ public final class Main { System.out.println(pex.getMessage()); printUsage(); } - catch (Exception ex) { - // smth wrong during processing + catch (CheckstyleException e) { errorCounter = 1; - throw ex; + System.out.println(e.getMessage()); } finally { // return exit code base on validation of Checker diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/MainTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/MainTest.java index 1a69669fd..42baba1fc 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/MainTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/MainTest.java @@ -114,7 +114,8 @@ public class MainTest { exit.expectSystemExitWithStatus(1); exit.checkAssertionAfterwards(new Assertion() { public void checkAssertion() { - assertEquals("Checkstyle ends with 1 errors." + System.lineSeparator(), + assertEquals(String.format("unable to find src/main/resources/non_existing_config.xml%n" + + "Checkstyle ends with 1 errors.%n"), standardLog.getLog()); assertEquals("", errorLog.getLog()); } @@ -335,4 +336,20 @@ public class MainTest { "-p", "nonexisting.properties", "src/test/resources/com/puppycrawl/tools/checkstyle/InputMain.java"); } + + @Test + public void testExistingIncorrectConfigFile() + throws Exception { + exit.expectSystemExitWithStatus(1); + exit.checkAssertionAfterwards(new Assertion() { + public void checkAssertion() { + assertEquals(String.format("unable to parse configuration stream - Content is not allowed in prolog.:7:1%n" + + "Checkstyle ends with 1 errors.%n"), standardLog.getLog()); + assertEquals("", errorLog.getLog()); + } + }); + Main.main("-c", "src/test/resources/com/puppycrawl/tools/checkstyle/" + + "config-Incorrect.xml", + "src/test/resources/com/puppycrawl/tools/checkstyle/InputMain.java"); + } } diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/config-Incorrect.xml b/src/test/resources/com/puppycrawl/tools/checkstyle/config-Incorrect.xml new file mode 100644 index 000000000..5d1951c7e --- /dev/null +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/config-Incorrect.xml @@ -0,0 +1,13 @@ + + + + +# + + + + + +