Java tutorial
/******************************************************************************* * Copyright (c) 2017 Synopsys, Inc * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Synopsys, Inc - initial implementation and documentation *******************************************************************************/ package jenkins.plugins.coverity.CoverityTool; import hudson.FilePath; import jenkins.plugins.coverity.CoverityPublisher; import jenkins.plugins.coverity.Utils.CoverityPublisherBuilder; import jenkins.plugins.coverity.InvocationAssistance; import jenkins.plugins.coverity.Utils.InvocationAssistanceBuilder; import org.apache.commons.lang.StringUtils; import org.junit.Test; import java.io.File; import java.io.IOException; public class CovImportMsvscaCommandTest extends CommandTestBase { @Test public void addMsvscaOutputFilesTest() throws IOException, InterruptedException { File analysisLog1 = new File("CodeAnalysisLog1.xml"); File analysisLog2 = new File("CodeAnalysisLog2.xml"); File[] outputFiles = new File[] { analysisLog1, analysisLog2 }; setCoverityUtils_listFilesAsArray(outputFiles); FilePath workspace = new FilePath(new File(".")); InvocationAssistance invocationAssistance = new InvocationAssistanceBuilder().withCSharpMsvsca(true) .build(); CoverityPublisher publisher = new CoverityPublisherBuilder().withInvocationAssistance(invocationAssistance) .build(); Command covImportMsvscaCommand = new CovImportMsvscaCommand(build, launcher, listener, publisher, StringUtils.EMPTY, envVars, workspace); setExpectedArguments(new String[] { "cov-import-msvsca", "--dir", "TestDir", "--append", analysisLog1.getAbsolutePath(), analysisLog2.getAbsolutePath() }); covImportMsvscaCommand.runCommand(); consoleLogger.verifyLastMessage( "[Coverity] cov-import-msvsca command line arguments: " + actualArguments.toString()); } @Test public void doesNotExecute_WithoutInvocationAssistance() throws IOException, InterruptedException { FilePath workspace = new FilePath(new File(".")); CoverityPublisher publisher = new CoverityPublisherBuilder().build(); Command covImportMsvscaCommand = new CovImportMsvscaCommand(build, launcher, listener, publisher, StringUtils.EMPTY, envVars, workspace); covImportMsvscaCommand.runCommand(); verifyNumberOfExecutedCommands(0); } @Test public void doesNotExecute_WithoutCSharpMsvscaEnabled() throws IOException, InterruptedException { FilePath workspace = new FilePath(new File(".")); InvocationAssistance invocationAssistance = new InvocationAssistanceBuilder().build(); CoverityPublisher publisher = new CoverityPublisherBuilder().withInvocationAssistance(invocationAssistance) .build(); Command covImportMsvscaCommand = new CovImportMsvscaCommand(build, launcher, listener, publisher, StringUtils.EMPTY, envVars, workspace); covImportMsvscaCommand.runCommand(); verifyNumberOfExecutedCommands(0); } @Test public void doesNotExecute_WithoutAnalysisConfigFiles() throws IOException, InterruptedException { FilePath workspace = new FilePath(new File(".")); setCoverityUtils_listFilesAsArray(null); InvocationAssistance invocationAssistance = new InvocationAssistanceBuilder().withCSharpMsvsca(true) .build(); CoverityPublisher publisher = new CoverityPublisherBuilder().withInvocationAssistance(invocationAssistance) .build(); Command covImportMsvscaCommand = new CovImportMsvscaCommand(build, launcher, listener, publisher, StringUtils.EMPTY, envVars, workspace); covImportMsvscaCommand.runCommand(); verifyNumberOfExecutedCommands(0); consoleLogger.verifyLastMessage("[Coverity] MSVSCA No results found, skipping"); } }