matrix:
- SQ_VERSION: LATEST_RELEASE[9.9]
- SQ_VERSION: LATEST_RELEASE
+ - SQ_VERSION: DEV
maven_cache:
folder: ${CIRRUS_WORKING_DIR}/.m2/repository
qa_script:
matrix:
- SQ_VERSION: LATEST_RELEASE[9.9]
- SQ_VERSION: LATEST_RELEASE
+ - SQ_VERSION: DEV
maven_cache:
folder: ${CIRRUS_WORKING_DIR}/.m2/repository
qa_script:
</dependencies>
<build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemProperties>
- <scanner.version>${env.PROJECT_VERSION}</scanner.version>
- </systemProperties>
- <includes>
- <include>**/SonarScannerTestSuite.java</include>
- </includes>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <!-- Some tests are asserting on localized messages or dates -->
+ <systemPropertyVariables>
+ <user.language>en</user.language>
+ <user.country>US</user.country>
+ </systemPropertyVariables>
+ <environmentVariables>
+ <LANGUAGE>en_US</LANGUAGE>
+ </environmentVariables>
+ <systemProperties>
+ <scanner.version>${env.PROJECT_VERSION}</scanner.version>
+ </systemProperties>
+ <includes>
+ <include>**/SonarScannerTestSuite.java</include>
+ </includes>
+ </configuration>
+ </plugin>
+ </plugins>
</build>
<profiles>
@Test
public void should_use_environment_prop() {
SonarScanner build = newScanner(new File("projects/simple-sample"))
- .setEnvironmentVariable("SONAR_HOST_URL", "http://from-env.org");
+ .setEnvironmentVariable("SONAR_HOST_URL", "http://www.google.com/404");
BuildRunner runner = new BuildRunner(orchestrator.getConfiguration());
BuildResult buildResult = runner.runQuietly(null, build);
assertThat(buildResult.isSuccess()).isFalse();
assertThat(buildResult.getLogs())
- .containsAnyOf(
- "No such host is known (from-env.org)", // Windows
- "from-env.org: Name or service not known" // Linux
- );
+ .contains("Error status returned by url [http://www.google.com/404/api/v2/analysis/version]: 404");
}
@Test
public void should_fail_if_unable_to_connect() {
SonarScanner build = newScanner(new File("projects/simple-sample"))
//env property should be overridden
- .setEnvironmentVariable("SONAR_HOST_URL", "http://from-env.org")
- .setProperty("sonar.host.url", "http://foo");
+ .setEnvironmentVariable("SONAR_HOST_URL", "http://www.google.com")
+ .setProperty("sonar.host.url", "http://www.google.com/404");
BuildResult result = orchestrator.executeBuildQuietly(build);
// expect build failure
assertThat(result.isSuccess()).isFalse();
// with the following message
assertThat(result.getLogs())
- .containsAnyOf(
- "No such host is known (foo)", // Windows
- "foo: No address associated with hostname" // Linux
- );
+ .contains("Error status returned by url [http://www.google.com/404/api/v2/analysis/version]: 404");
}
// SONARPLUGINS-3574
private static OrchestratorRule createOrchestrator() {
String sonarVersion = System
- .getProperty("sonar.runtimeVersion", "LATEST_RELEASE[9.9]");
+ .getProperty("sonar.runtimeVersion", "DEV");
return OrchestratorRule.builderEnv()
.useDefaultAdminCredentialsForBuilds(true)
.setSonarVersion(sonarVersion)
<dependency>
<groupId>org.sonarsource.scanner.lib</groupId>
<artifactId>sonar-scanner-java-library</artifactId>
- <version>3.0.0.114</version>
+ <version>3.0.0.141</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<configuration>
<rules>
<requireFilesSize>
- <minsize>4100000</minsize>
- <maxsize>4200000</maxsize>
+ <minsize>4300000</minsize>
+ <maxsize>4400000</maxsize>
<files>
<file>${project.build.directory}/sonar-scanner-${project.version}.zip</file>
</files>
return resolver.resolve();
}
- private Map<String, String> loadEnvironmentProperties() {
- return EnvironmentConfig.load(new Slf4jLogOutput());
+ private static Map<String, String> loadEnvironmentProperties() {
+ return EnvironmentConfig.load();
}
private Properties loadGlobalProperties() {
}
ScannerEngineBootstrapper newScannerEngineBootstrapper(String appName, String appVersion) {
- return ScannerEngineBootstrapper.create(appName, appVersion, new Slf4jLogOutput());
+ return ScannerEngineBootstrapper.create(appName, appVersion);
}
+++ /dev/null
-/*
- * SonarScanner CLI
- * Copyright (C) 2011-2024 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package org.sonarsource.scanner.cli;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.sonarsource.scanner.lib.LogOutput;
-
-public class Slf4jLogOutput implements LogOutput {
-
- private static final Logger LOG = LoggerFactory.getLogger(Slf4jLogOutput.class);
-
- @Override
- public void log(String s, Level level) {
- switch (level) {
- case TRACE:
- LOG.trace(s);
- break;
- case DEBUG:
- LOG.debug(s);
- break;
- case INFO:
- LOG.info(s);
- break;
- case WARN:
- LOG.warn(s);
- break;
- case ERROR:
- LOG.error(s);
- break;
- }
- }
-}
+++ /dev/null
-/*
- * SonarScanner CLI
- * Copyright (C) 2011-2024 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package org.sonarsource.scanner.cli;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
-import org.slf4j.event.Level;
-import org.sonarsource.scanner.lib.LogOutput;
-import testutils.LogTester;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-class Slf4jLogOutputTest {
-
- @RegisterExtension
- LogTester logTester = new LogTester().setLevel(Level.TRACE);
-
- @Test
- void make_coverage_happy() {
- var underTest = new Slf4jLogOutput();
- underTest.log("trace", LogOutput.Level.TRACE);
- underTest.log("debug", LogOutput.Level.DEBUG);
- underTest.log("info", LogOutput.Level.INFO);
- underTest.log("warn", LogOutput.Level.WARN);
- underTest.log("error", LogOutput.Level.ERROR);
-
- assertThat(logTester.logs(Level.TRACE)).containsOnly("trace");
- assertThat(logTester.logs(Level.DEBUG)).containsOnly("debug");
- assertThat(logTester.logs(Level.INFO)).containsOnly("info");
- assertThat(logTester.logs(Level.WARN)).containsOnly("warn");
- assertThat(logTester.logs(Level.ERROR)).containsOnly("error");
- }
-
-}