Skip to content

Commit

Permalink
introduce a new function arg in getTestFlags according to microsoft#2…
Browse files Browse the repository at this point in the history
  • Loading branch information
scriptonist committed Feb 4, 2019
1 parent 313c3cd commit 1aea035
Show file tree
Hide file tree
Showing 7 changed files with 32 additions and 32 deletions.
20 changes: 10 additions & 10 deletions src/goBuild.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import path = require('path');
import vscode = require('vscode');
import { getToolsEnvVars, runTool, ICheckResult, handleDiagnosticErrors, getWorkspaceFolderPath, getCurrentGoPath, getTempFilePath, removeRunFlag } from './util';
import { getToolsEnvVars, runTool, ICheckResult, handleDiagnosticErrors, getWorkspaceFolderPath, getCurrentGoPath, getTempFilePath } from './util';
import { outputChannel } from './goStatus';
import os = require('os');
import { getNonVendorPackages } from './goPackages';
Expand Down Expand Up @@ -34,14 +34,14 @@ export function buildCode(buildWorkspace?: boolean) {

isModSupported(documentUri).then(isMod => {
goBuild(documentUri, isMod, goConfig, buildWorkspace)
.then(errors => {
handleDiagnosticErrors(editor ? editor.document : null, errors, buildDiagnosticCollection);
diagnosticsStatusBarItem.hide();
})
.catch(err => {
vscode.window.showInformationMessage('Error: ' + err);
diagnosticsStatusBarItem.text = 'Build Failed';
});
.then(errors => {
handleDiagnosticErrors(editor ? editor.document : null, errors, buildDiagnosticCollection);
diagnosticsStatusBarItem.hide();
})
.catch(err => {
vscode.window.showInformationMessage('Error: ' + err);
diagnosticsStatusBarItem.text = 'Build Failed';
});
});
}

Expand Down Expand Up @@ -77,7 +77,7 @@ export function goBuild(fileUri: vscode.Uri, isMod: boolean, goConfig: vscode.Wo
const buildEnv = Object.assign({}, getToolsEnvVars());
const tmpPath = getTempFilePath('go-code-check');
const isTestFile = fileUri && fileUri.fsPath.endsWith('_test.go');
const buildFlags: string[] = isTestFile ? removeRunFlag(getTestFlags(goConfig)) : (Array.isArray(goConfig['buildFlags']) ? [...goConfig['buildFlags']] : []);
const buildFlags: string[] = isTestFile ? getTestFlags(goConfig, false) : (Array.isArray(goConfig['buildFlags']) ? [...goConfig['buildFlags']] : []);
const buildArgs: string[] = isTestFile ? ['test', '-c'] : ['build'];

if (goConfig['installDependenciesWhenBuilding'] === true && !isMod) {
Expand Down
8 changes: 4 additions & 4 deletions src/goCheck.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import path = require('path');
import { applyCodeCoverageToAllEditors } from './goCover';
import { outputChannel, diagnosticsStatusBarItem } from './goStatus';
import { goTest, TestConfig, getTestFlags } from './testUtils';
import { ICheckResult, getBinPath, getTempFilePath, removeRunFlag } from './util';
import { ICheckResult, getBinPath, getTempFilePath } from './util';
import { goLint } from './goLint';
import { goVet } from './goVet';
import { goBuild } from './goBuild';
Expand Down Expand Up @@ -69,7 +69,7 @@ export function check(fileUri: vscode.Uri, goConfig: vscode.WorkspaceConfigurati
let testConfig: TestConfig = {
goConfig: goConfig,
dir: cwd,
flags: removeRunFlag(getTestFlags(goConfig)),
flags: getTestFlags(goConfig, false),
background: true
};

Expand Down Expand Up @@ -113,12 +113,12 @@ export function check(fileUri: vscode.Uri, goConfig: vscode.WorkspaceConfigurati

if (!!goConfig['lintOnSave'] && goConfig['lintOnSave'] !== 'off') {
runningToolsPromises.push(goLint(fileUri, goConfig, goConfig['lintOnSave'])
.then(errors => ({diagnosticCollection: lintDiagnosticCollection, errors: errors})));
.then(errors => ({ diagnosticCollection: lintDiagnosticCollection, errors: errors })));
}

if (!!goConfig['vetOnSave'] && goConfig['vetOnSave'] !== 'off') {
runningToolsPromises.push(goVet(fileUri, goConfig, goConfig['vetOnSave'] === 'workspace')
.then(errors => ({diagnosticCollection: vetDiagnosticCollection, errors: errors})));
.then(errors => ({ diagnosticCollection: vetDiagnosticCollection, errors: errors })));
}

if (!!goConfig['coverOnSave']) {
Expand Down
4 changes: 2 additions & 2 deletions src/goCover.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import vscode = require('vscode');
import path = require('path');
import fs = require('fs');
import rl = require('readline');
import { getTempFilePath, removeRunFlag } from './util';
import { getTempFilePath } from './util';
import { showTestOutput, goTest, TestConfig, getTestFlags } from './testUtils';
import { isModSupported } from './goModules';

Expand Down Expand Up @@ -291,7 +291,7 @@ export function toggleCoverageCurrentPackage() {
let goConfig = vscode.workspace.getConfiguration('go', editor.document.uri);
let cwd = path.dirname(editor.document.uri.fsPath);

let args = removeRunFlag(getTestFlags(goConfig));
let args = getTestFlags(goConfig, false);
let tmpCoverPath = getTempFilePath('go-code-cover');
args.push('-coverprofile=' + tmpCoverPath);
const testConfig: TestConfig = {
Expand Down
4 changes: 2 additions & 2 deletions src/goRunTestCodelens.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import path = require('path');
import { TextDocument, CancellationToken, CodeLens, Command } from 'vscode';
import { getTestFunctions, getBenchmarkFunctions, getTestFlags, extractInstanceTestName, findAllTestSuiteRuns } from './testUtils';
import { GoDocumentSymbolProvider } from './goOutline';
import { getCurrentGoPath, removeRunFlag } from './util';
import { getCurrentGoPath } from './util';
import { GoBaseCodeLensProvider } from './goBaseCodelens';

export class GoRunTestCodeLensProvider extends GoBaseCodeLensProvider {
Expand Down Expand Up @@ -92,7 +92,7 @@ export class GoRunTestCodeLensProvider extends GoBaseCodeLensProvider {
const program = path.dirname(document.fileName);
const env = Object.assign({}, this.debugConfig.env, vsConfig['testEnvVars']);
const envFile = vsConfig['testEnvFile'];
const buildFlags = removeRunFlag(getTestFlags(vsConfig));
const buildFlags = getTestFlags(vsConfig, false);
if (vsConfig['buildTags'] && buildFlags.indexOf('-tags') === -1) {
buildFlags.push('-tags');
buildFlags.push(`${vsConfig['buildTags']}`);
Expand Down
8 changes: 4 additions & 4 deletions src/goTest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import path = require('path');
import vscode = require('vscode');
import os = require('os');
import { getTempFilePath, removeRunFlag } from './util';
import { getTempFilePath } from './util';
import { goTest, TestConfig, getTestFlags, getTestFunctions, getBenchmarkFunctions, extractInstanceTestName, findAllTestSuiteRuns } from './testUtils';
import { applyCodeCoverageToAllEditors } from './goCover';
import { isModSupported } from './goModules';
Expand Down Expand Up @@ -149,7 +149,7 @@ export function testWorkspace(goConfig: vscode.WorkspaceConfiguration, args: any
const testConfig: TestConfig = {
goConfig: goConfig,
dir: workspaceUri.fsPath,
flags: removeRunFlag(getTestFlags(goConfig, args)),
flags: getTestFlags(goConfig, false, args),
includeSubDirectories: true
};
// Remember this config as the last executed test.
Expand Down Expand Up @@ -187,7 +187,7 @@ export function testCurrentFile(goConfig: vscode.WorkspaceConfiguration, isBench
const testConfig: TestConfig = {
goConfig: goConfig,
dir: path.dirname(editor.document.fileName),
flags: removeRunFlag(getTestFlags(goConfig, args)),
flags: getTestFlags(goConfig, false, args),
functions: testFunctions.map(sym => sym.name),
isBenchmark: isBenchmark,
};
Expand Down Expand Up @@ -225,7 +225,7 @@ export function testPrevious() {
*/
function makeCoverData(goConfig: vscode.WorkspaceConfiguration, confFlag: string, args: any): { tmpCoverPath: string, testFlags: string[] } {
let tmpCoverPath = '';
let testFlags = removeRunFlag(getTestFlags(goConfig, args) || []);
let testFlags = getTestFlags(goConfig, false, args) || [];
if (goConfig[confFlag] === true) {
tmpCoverPath = getTempFilePath('go-code-cover');
testFlags.push('-coverprofile=' + tmpCoverPath);
Expand Down
12 changes: 10 additions & 2 deletions src/testUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import path = require('path');
import vscode = require('vscode');
import util = require('util');
import { parseEnvFile, getCurrentGoWorkspaceFromGOPATH } from './goPath';
import { getToolsEnvVars, getGoVersion, LineBuffer, SemVersion, resolvePath, getCurrentGoPath, getBinPath, removeRunFlag } from './util';
import { getToolsEnvVars, getGoVersion, LineBuffer, SemVersion, resolvePath, getCurrentGoPath, getBinPath } from './util';
import { GoDocumentSymbolProvider } from './goOutline';
import { getNonVendorPackages } from './goPackages';
import { getCurrentPackage } from './goModules';
Expand Down Expand Up @@ -87,7 +87,7 @@ export function getTestEnvVars(config: vscode.WorkspaceConfiguration): any {
return envVars;
}

export function getTestFlags(goConfig: vscode.WorkspaceConfiguration, args?: any, useRunFlag= true): string[] {
export function getTestFlags(goConfig: vscode.WorkspaceConfiguration, useRunFlag = true, args?: any): string[] {
let testFlags: string[] = goConfig['testFlags'] || goConfig['buildFlags'] || [];
testFlags = testFlags.map(x => resolvePath(x)); // Use copy of the flags, dont pass the actual object from config
if (useRunFlag === false) {
Expand Down Expand Up @@ -389,3 +389,11 @@ function targetArgs(testconfig: TestConfig): Array<string> {
}
return params;
}

function removeRunFlag(flags: string[]): string[] {
const index: number = flags.indexOf('-run');
if (index !== -1) {
flags.splice(index, 2);
}
return flags;
}
8 changes: 0 additions & 8 deletions src/util.ts
Original file line number Diff line number Diff line change
Expand Up @@ -960,11 +960,3 @@ export function runGodoc(cwd: string, packagePath: string, receiver: string, sym
});
});
}

export function removeRunFlag(flags: string[]): string[] {
const index: number = flags.indexOf('-run');
if (index !== -1) {
flags.splice(index, 2);
}
return flags;
}

0 comments on commit 1aea035

Please sign in to comment.