aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/java/org/sonarsource/scanner/cli/MainTest.java
diff options
context:
space:
mode:
authorDuarte Meneses <duarte.meneses@sonarsource.com>2016-09-15 16:24:36 +0200
committerDuarte Meneses <duarte.meneses@sonarsource.com>2016-09-16 13:36:49 +0200
commit1d6a79e5221587c98f451b233b99eeea7d66f4d7 (patch)
tree6b7c5260bd14d3bcce06cc7fdc44eedd18d9caf5 /src/test/java/org/sonarsource/scanner/cli/MainTest.java
parent12c373fad66da9ccb9cfb2ce7e3c5d2de4f60fe2 (diff)
downloadsonar-scanner-cli-1d6a79e5221587c98f451b233b99eeea7d66f4d7.tar.gz
sonar-scanner-cli-1d6a79e5221587c98f451b233b99eeea7d66f4d7.zip
SQSCANNER-23 Support the new 'MessageException' unchecked exception and log by default the error stack trace only when a non-MessageException is thrown
Diffstat (limited to 'src/test/java/org/sonarsource/scanner/cli/MainTest.java')
-rw-r--r--src/test/java/org/sonarsource/scanner/cli/MainTest.java40
1 files changed, 26 insertions, 14 deletions
diff --git a/src/test/java/org/sonarsource/scanner/cli/MainTest.java b/src/test/java/org/sonarsource/scanner/cli/MainTest.java
index 450d0a7..dc4b77d 100644
--- a/src/test/java/org/sonarsource/scanner/cli/MainTest.java
+++ b/src/test/java/org/sonarsource/scanner/cli/MainTest.java
@@ -28,6 +28,7 @@ import org.mockito.InOrder;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
+import org.sonar.api.utils.MessageException.MessageException;
import org.sonarsource.scanner.api.EmbeddedScanner;
import org.sonarsource.scanner.api.ScanProperties;
@@ -95,33 +96,34 @@ public class MainTest {
}
@Test
- public void show_error_stacktrace() {
- Exception e = show_error(false, true);
- verify(logs).error("Error during SonarQube Scanner execution", e);
+ public void show_error() {
+ Exception e = createException(false, false);
+ testException(e, false);
+
+ verify(logs).error("Error during SonarQube Scanner execution");
verify(logs).error("Re-run SonarQube Scanner using the -X switch to enable full debug logging.");
}
@Test
- public void show_error_debug() {
- Exception e = show_error(true, false);
+ public void show_error_MessageException() {
+ Exception e = createException(false, true);
+ testException(e, false);
- verify(logs).error("Error during SonarQube Scanner execution", e);
- verify(logs, never()).error("Re-run SonarQube Scanner using the -X switch to enable full debug logging.");
+ verify(logs).error("Error during SonarQube Scanner execution");
+ verify(logs).error("Re-run SonarQube Scanner using the -X switch to enable full debug logging.");
}
@Test
- public void show_error_debug_stack() {
- Exception e = show_error(true, true);
+ public void show_error_debug() {
+ Exception e = createException(true, false);
+ testException(e, true);
verify(logs).error("Error during SonarQube Scanner execution", e);
verify(logs, never()).error("Re-run SonarQube Scanner using the -X switch to enable full debug logging.");
}
- private Exception show_error(boolean debugEnabled, boolean stackTraceEnabled) {
- Exception e = new NullPointerException("NPE");
- e = new IllegalStateException("Error", e);
+ private void testException(Exception e, boolean debugEnabled) {
when(cli.isDebugEnabled()).thenReturn(debugEnabled);
- when(cli.isDisplayStackTrace()).thenReturn(stackTraceEnabled);
EmbeddedScanner runner = mock(EmbeddedScanner.class);
doThrow(e).when(runner).runAnalysis(any(Properties.class));
@@ -132,6 +134,16 @@ public class MainTest {
verify(runner).stop();
verify(exit).exit(Exit.ERROR);
+ }
+
+ private Exception createException(boolean debugEnabled, boolean messageException) {
+ Exception e;
+ if (messageException) {
+ e = new MessageException("my message");
+ } else {
+ e = new IllegalStateException("Error", new NullPointerException("NPE"));
+ }
+
return e;
}
@@ -151,7 +163,7 @@ public class MainTest {
inOrder.verify(runnerFactory, times(1)).create(p);
inOrder.verify(exit, times(1)).exit(Exit.SUCCESS);
}
-
+
@Test
public void should_skip() throws IOException {
Properties p = new Properties();