Browse Source

SQSCANNER-28 Support sonar.scanner.skip without connecting to server

tags/2.8
Duarte Meneses 7 years ago
parent
commit
516ba9b922

+ 10
- 0
it/src/test/java/com/sonar/runner/it/JavaTest.java View File

@@ -223,6 +223,16 @@ public class JavaTest extends ScannerTestCase {
orchestrator.executeBuild(build);
}

@Test
public void should_skip_analysis() {
SonarScanner build = newScanner(new File("projects/java-sample"))
.setProperty("sonar.host.url", "http://foo")
.setEnvironmentVariable("SONARQUBE_SCANNER_PARAMS", "{ \"sonar.scanner.skip\":\"true\" }");

BuildResult result = orchestrator.executeBuild(build);
assertThat(result.getLogs()).contains("SonarQube Scanner analysis skipped");
}

@Test
public void should_fail_if_unable_to_connect() {
SonarScanner build = newScanner(new File("projects/java-sample"))

+ 1
- 1
pom.xml View File

@@ -50,7 +50,7 @@
<dependency>
<groupId>org.sonarsource.scanner.api</groupId>
<artifactId>sonar-scanner-api</artifactId>
<version>2.7</version>
<version>2.8-build684</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>

+ 9
- 0
src/main/java/org/sonarsource/scanner/cli/Main.java View File

@@ -22,6 +22,7 @@ package org.sonarsource.scanner.cli;
import java.io.IOException;
import java.util.Properties;
import org.sonarsource.scanner.api.EmbeddedScanner;
import org.sonarsource.scanner.api.ScanProperties;

/**
* Arguments :
@@ -65,6 +66,7 @@ public class Main {

try {
Properties p = conf.properties();
checkSkip(p);
configureLogging(p);
init(p);
runner.start();
@@ -79,6 +81,13 @@ public class Main {
runner.stop();
exit.exit(Exit.SUCCESS);
}
private void checkSkip(Properties properties) {
if ("true".equalsIgnoreCase(properties.getProperty(ScanProperties.SKIP))) {
logger.info("SonarQube Scanner analysis skipped");
exit.exit(Exit.SUCCESS);
}
}

private void init(Properties p) throws IOException {
SystemInfo.print(logger);

+ 18
- 0
src/test/java/org/sonarsource/scanner/cli/MainTest.java View File

@@ -29,6 +29,7 @@ import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.sonarsource.scanner.api.EmbeddedScanner;
import org.sonarsource.scanner.api.ScanProperties;

import static org.fest.assertions.Assertions.assertThat;
import static org.mockito.Matchers.any;
@@ -150,6 +151,23 @@ 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();
p.setProperty(ScanProperties.SKIP, "true");
when(conf.properties()).thenReturn(p);

Main main = new Main(exit, cli, conf, runnerFactory, logs);
main.execute();

verify(logs).info("SonarQube Scanner analysis skipped");
InOrder inOrder = Mockito.inOrder(exit, runnerFactory);

inOrder.verify(exit, times(1)).exit(Exit.SUCCESS);
inOrder.verify(runnerFactory, times(1)).create(p);
inOrder.verify(exit, times(1)).exit(Exit.SUCCESS);
}

@Test
public void shouldLogServerVersion() throws IOException {

Loading…
Cancel
Save