]> source.dussan.org Git - sonar-scanner-cli.git/commitdiff
SQSCANNER-47 Improve error logs when exception is a MessageException
authorDuarte Meneses <duarte.meneses@sonarsource.com>
Fri, 29 Dec 2017 12:09:20 +0000 (13:09 +0100)
committerDuarte Meneses <duarte.meneses@sonarsource.com>
Fri, 29 Dec 2017 13:17:45 +0000 (14:17 +0100)
src/main/java/org/sonarsource/scanner/cli/Main.java
src/test/java/org/sonarsource/scanner/cli/MainTest.java

index 7144ec826d7d876edeaf15efcbf9f8ca5b1263c2..fb7496e8dc4e4505b2bee47c4fdb54439aeefa32 100644 (file)
@@ -143,7 +143,7 @@ public class Main {
 
   private static boolean showStackTrace(Throwable e, boolean debug) {
     // class not available at compile time (loaded by isolated classloader)
-    return debug || !"org.sonar.api.utils.MessageException".equals(e.getClass().getName());
+    return debug && !"org.sonar.api.utils.MessageException".equals(e.getClass().getName());
   }
 
   private void suggestDebugMode() {
index 869a1835acafa947d297c583ef86e182b7b17c64..e7b2e6428bfecf2793b8e7c4e64fbb863f3a8a9e 100644 (file)
@@ -85,7 +85,7 @@ public class MainTest {
     e = new IllegalStateException("Error", e);
     doThrow(e).when(runner).execute(any(Map.class));
     when(scannerFactory.create(any(Properties.class))).thenReturn(runner);
-
+    when(cli.isDebugEnabled()).thenReturn(true);
     Main main = new Main(exit, cli, conf, scannerFactory, logs);
     main.execute();
 
@@ -99,6 +99,7 @@ public class MainTest {
     Exception e = new NullPointerException("NPE");
     e = new IllegalStateException("Error", e);
     doThrow(e).when(runner).start();
+    when(cli.isDebugEnabled()).thenReturn(true);
     when(scannerFactory.create(any(Properties.class))).thenReturn(runner);
 
     Main main = new Main(exit, cli, conf, scannerFactory, logs);
@@ -111,22 +112,23 @@ public class MainTest {
   }
 
   @Test
-  public void show_error_with_stacktrace() {
-    Exception e = createException(false);
+  public void show_error_MessageException() {
+    Exception e = createException(true);
     testException(e, false);
 
-    verify(logs).error("Error during SonarQube Scanner execution", e);
+    verify(logs).error("Error during SonarQube Scanner execution");
+    verify(logs).error("Caused by: NPE");
     verify(logs).error("Re-run SonarQube Scanner using the -X switch to enable full debug logging.");
   }
-
+  
   @Test
-  public void show_error_MessageException() {
+  public void show_error_MessageException_debug() {
     Exception e = createException(true);
-    testException(e, false);
+    testException(e, true);
 
     verify(logs).error("Error during SonarQube Scanner execution");
+    verify(logs).error("my message");
     verify(logs).error("Caused by: NPE");
-    verify(logs).error("Re-run SonarQube Scanner using the -X switch to enable full debug logging.");
   }
 
   @Test