Switch to vscodetestcover for running extension tests (#5458)

* Update vscode dependency (needed for test runner) to pull latest 1.x version

* Update to use 1.1.5 instead

* Undo change to vscode engine version

* Switch to using vscodetestcover for running tests

* Switch to cobertura output for coverage reports

* Remove vscode dependency from profiler extension

* Update yarn.lock with combined changes
This commit is contained in:
Charles Gagnon
2019-05-13 11:39:09 -07:00
committed by GitHub
parent 43293b98c0
commit dbac187b44
40 changed files with 5771 additions and 12674 deletions

View File

@@ -1,2 +1,3 @@
coverage
ssmsmin ssmsmin
*.vsix *.vsix

View File

@@ -1,5 +1,7 @@
coverage/**
out/test/** out/test/**
src/** src/**
.gitignore .gitignore
coverageConfig.json
tsconfig.json tsconfig.json
InstallSsmsMin.bat InstallSsmsMin.bat

View File

@@ -0,0 +1,17 @@
{
"enabled": true,
"relativeSourcePath": "..",
"relativeCoverageDir": "../../coverage",
"ignorePatterns": [
"**/node_modules/**"
],
"includePid": false,
"reports": [
"cobertura"
],
"verbose": false,
"remapOptions": {
"basePath": ".",
"useAbsolutePaths": true
}
}

View File

@@ -69,6 +69,6 @@
"vscode-nls": "^3.2.1" "vscode-nls": "^3.2.1"
}, },
"devDependencies": { "devDependencies": {
"vscode": "1.0.1" "vscodetestcover": "^1.0.2"
} }
} }

View File

@@ -4,19 +4,23 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
const path = require('path'); const path = require('path');
const testRunner = require('vscode/lib/testrunner'); import * as testRunner from 'vscodetestcover';
const suite = 'Database Admin Tool Extensions for Windows'; const suite = 'Database Admin Tool Extensions for Windows';
const options: any = { const testOptions: any = {
ui: 'bdd', ui: 'bdd',
useColors: true, useColors: true,
timeout: 600000 timeout: 600000
}; };
const coverageConfig: any = {
coverConfig: '../../coverageConfig.json'
};
if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) { if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) {
options.reporter = 'mocha-multi-reporters'; testOptions.reporter = 'mocha-multi-reporters';
options.reporterOptions = { testOptions.reporterOptions = {
reporterEnabled: 'spec, mocha-junit-reporter', reporterEnabled: 'spec, mocha-junit-reporter',
mochaJunitReporterReporterOptions: { mochaJunitReporterReporterOptions: {
testsuitesTitle: `${suite} ${process.platform}`, testsuitesTitle: `${suite} ${process.platform}`,
@@ -25,6 +29,6 @@ if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) {
}; };
} }
testRunner.configure(options); testRunner.configure(testOptions, coverageConfig);
export = testRunner; export = testRunner;

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1,2 @@
coverage
*.vsix *.vsix

View File

@@ -1,3 +1,5 @@
coverage/**
src/** src/**
out/test/** out/test/**
coverageConfig.json
tsconfig.json tsconfig.json

View File

@@ -0,0 +1,17 @@
{
"enabled": true,
"relativeSourcePath": "..",
"relativeCoverageDir": "../../coverage",
"ignorePatterns": [
"**/node_modules/**"
],
"includePid": false,
"reports": [
"cobertura"
],
"verbose": false,
"remapOptions": {
"basePath": ".",
"useAbsolutePaths": true
}
}

View File

@@ -52,7 +52,7 @@
"mocha": "^5.2.0", "mocha": "^5.2.0",
"should": "^13.2.1", "should": "^13.2.1",
"typemoq": "^2.1.0", "typemoq": "^2.1.0",
"vscode": "1.1.5" "vscodetestcover": "^1.0.2"
}, },
"__metadata": { "__metadata": {
"id": "10", "id": "10",

View File

@@ -4,19 +4,23 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
const path = require('path'); const path = require('path');
const testRunner = require('vscode/lib/testrunner'); import * as testRunner from 'vscodetestcover';
const suite = 'Agent Tests'; const suite = 'Agent Tests';
const options: any = { const testOptions: any = {
ui: 'bdd', ui: 'bdd',
useColors: true, useColors: true,
timeout: 600000 timeout: 600000
}; };
const coverageConfig: any = {
coverConfig: '../../coverageConfig.json'
};
if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) { if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) {
options.reporter = 'mocha-multi-reporters'; testOptions.reporter = 'mocha-multi-reporters';
options.reporterOptions = { testOptions.reporterOptions = {
reporterEnabled: 'spec, mocha-junit-reporter', reporterEnabled: 'spec, mocha-junit-reporter',
mochaJunitReporterReporterOptions: { mochaJunitReporterReporterOptions: {
testsuitesTitle: `${suite} ${process.platform}`, testsuitesTitle: `${suite} ${process.platform}`,
@@ -25,6 +29,6 @@ if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) {
}; };
} }
testRunner.configure(options); testRunner.configure(testOptions, coverageConfig);
export = testRunner; export = testRunner;

File diff suppressed because it is too large Load Diff

2
extensions/azurecore/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
coverage
*.vsix

View File

@@ -1,5 +1,7 @@
coverage/**
src/** src/**
out/** out/**
coverageConfig.json
tsconfig.json tsconfig.json
extension.webpack.config.js extension.webpack.config.js
yarn.lock yarn.lock

View File

@@ -0,0 +1,17 @@
{
"enabled": false,
"relativeSourcePath": "..",
"relativeCoverageDir": "../../coverage",
"ignorePatterns": [
"**/node_modules/**"
],
"includePid": false,
"reports": [
"cobertura"
],
"verbose": false,
"remapOptions": {
"basePath": ".",
"useAbsolutePaths": true
}
}

View File

@@ -170,6 +170,6 @@
"mocha": "^5.2.0", "mocha": "^5.2.0",
"should": "^13.2.1", "should": "^13.2.1",
"typemoq": "^2.1.0", "typemoq": "^2.1.0",
"vscode": "1.1.26" "vscodetestcover": "^1.0.2"
} }
} }

View File

@@ -4,19 +4,24 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
const path = require('path'); const path = require('path');
const testRunner = require('vscode/lib/testrunner'); import * as testRunner from 'vscodetestcover';
const suite = 'Integration Azure Tests'; const suite = 'Integration Azure Tests';
const options: any = { const testOptions: any = {
ui: 'bdd', ui: 'bdd',
useColors: true, useColors: true,
timeout: 60000 timeout: 60000
}; };
// Coverage is currently disabled - the coverage runner isn't currently able to correctly parse es2018 javascript
const coverageConfig: any = {
coverConfig: '../../coverageConfig.json'
};
if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) { if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) {
options.reporter = 'mocha-multi-reporters'; testOptions.reporter = 'mocha-multi-reporters';
options.reporterOptions = { testOptions.reporterOptions = {
reporterEnabled: 'spec, mocha-junit-reporter', reporterEnabled: 'spec, mocha-junit-reporter',
mochaJunitReporterReporterOptions: { mochaJunitReporterReporterOptions: {
testsuitesTitle: `${suite} ${process.platform}`, testsuitesTitle: `${suite} ${process.platform}`,
@@ -25,6 +30,6 @@ if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) {
}; };
} }
testRunner.configure(options); testRunner.configure(testOptions, coverageConfig);
export = testRunner; export = testRunner;

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1,2 @@
coverage
*.vsix *.vsix

View File

@@ -1,3 +1,5 @@
coverage/**
out/test/** out/test/**
src/** src/**
coverageConfig.json
tsconfig.json tsconfig.json

View File

@@ -0,0 +1,17 @@
{
"enabled": true,
"relativeSourcePath": "..",
"relativeCoverageDir": "../../coverage",
"ignorePatterns": [
"**/node_modules/**"
],
"includePid": false,
"reports": [
"cobertura"
],
"verbose": false,
"remapOptions": {
"basePath": ".",
"useAbsolutePaths": true
}
}

View File

@@ -640,7 +640,7 @@
"@types/node": "^8.0.24", "@types/node": "^8.0.24",
"mocha": "^5.2.0", "mocha": "^5.2.0",
"should": "^13.2.1", "should": "^13.2.1",
"vscode": "^1.1.26", "vscodetestcover": "^1.0.2",
"typemoq": "^2.1.0" "typemoq": "^2.1.0"
} }
} }

View File

@@ -4,19 +4,23 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
const path = require('path'); const path = require('path');
const testRunner = require('vscode/lib/testrunner'); import * as testRunner from 'vscodetestcover';
const suite = 'CMS Unit Tests'; const suite = 'CMS Unit Tests';
const options: any = { const testOptions: any = {
ui: 'bdd', ui: 'bdd',
useColors: true, useColors: true,
timeout: 60000 timeout: 60000
}; };
const coverageConfig: any = {
coverConfig: '../../coverageConfig.json'
};
if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) { if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) {
options.reporter = 'mocha-multi-reporters'; testOptions.reporter = 'mocha-multi-reporters';
options.reporterOptions = { testOptions.reporterOptions = {
reporterEnabled: 'spec, mocha-junit-reporter', reporterEnabled: 'spec, mocha-junit-reporter',
mochaJunitReporterReporterOptions: { mochaJunitReporterReporterOptions: {
testsuitesTitle: `${suite} ${process.platform}`, testsuitesTitle: `${suite} ${process.platform}`,
@@ -25,6 +29,6 @@ if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) {
}; };
} }
testRunner.configure(options); testRunner.configure(testOptions, coverageConfig);
export = testRunner; export = testRunner;

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,17 @@
{
"enabled": true,
"relativeSourcePath": "..",
"relativeCoverageDir": "../../coverage",
"ignorePatterns": [
"**/node_modules/**"
],
"includePid": false,
"reports": [
"cobertura"
],
"verbose": false,
"remapOptions": {
"basePath": ".",
"useAbsolutePaths": true
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -52,8 +52,9 @@
"@types/node": "7.0.43", "@types/node": "7.0.43",
"@types/chai": "3.4.34", "@types/chai": "3.4.34",
"mocha-junit-reporter": "^1.17.0", "mocha-junit-reporter": "^1.17.0",
"mocha-multi-reporters": "^1.1.7", "mocha-multi-reporters": "^1.1.7",
"vscode": "1.1.5", "vscode":"^1.1.5",
"vscodetestcover": "^1.0.2",
"chai": "3.5.0" "chai": "3.5.0"
}, },
"dependencies": { "dependencies": {

View File

@@ -6,19 +6,23 @@ import * as vscode from 'vscode';
import { context } from './testContext'; import { context } from './testContext';
const path = require('path'); const path = require('path');
const testRunner = require('vscode/lib/testrunner'); import * as testRunner from 'vscodetestcover';
const suite = 'Integration Tests'; const suite = 'Integration Tests';
const options: any = { const testOptions: any = {
ui: 'tdd', ui: 'tdd',
useColors: true, useColors: true,
timeout: 600000 timeout: 600000
}; };
const coverageConfig: any = {
coverConfig: '../coverageConfig.json'
};
if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) { if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) {
options.reporter = 'mocha-multi-reporters'; testOptions.reporter = 'mocha-multi-reporters';
options.reporterOptions = { testOptions.reporterOptions = {
reporterEnabled: 'spec, mocha-junit-reporter', reporterEnabled: 'spec, mocha-junit-reporter',
mochaJunitReporterReporterOptions: { mochaJunitReporterReporterOptions: {
testsuitesTitle: `${suite} ${process.platform}`, testsuitesTitle: `${suite} ${process.platform}`,
@@ -31,6 +35,6 @@ if (!vscode.workspace.getConfiguration('test')['testSetupCompleted']) {
context.RunTest = false; context.RunTest = false;
} }
testRunner.configure(options); testRunner.configure(testOptions, coverageConfig);
export = testRunner; export = testRunner;

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1,2 @@
coverage/**
jupyter_config/** jupyter_config/**

View File

@@ -1,6 +1,8 @@
coverage/**
jupyter_config/** jupyter_config/**
src/** src/**
out/** out/**
coverageConfig.json
tsconfig.json tsconfig.json
extension.webpack.config.js extension.webpack.config.js
yarn.lock yarn.lock

View File

@@ -0,0 +1,18 @@
{
"enabled": false,
"relativeSourcePath": "..",
"relativeCoverageDir": "../../coverage",
"ignorePatterns": [
"**/node_modules/**",
"**/test/**"
],
"includePid": false,
"reports": [
"cobertura"
],
"verbose": false,
"remapOptions": {
"basePath": ".",
"useAbsolutePaths": true
}
}

View File

@@ -349,7 +349,7 @@
"mocha-junit-reporter": "^1.17.0", "mocha-junit-reporter": "^1.17.0",
"mocha-multi-reporters": "^1.1.7", "mocha-multi-reporters": "^1.1.7",
"typemoq": "^2.1.0", "typemoq": "^2.1.0",
"vscode": "1.1.5" "vscodetestcover": "^1.0.2"
}, },
"enableProposedApi": true "enableProposedApi": true
} }

View File

@@ -4,19 +4,23 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
const path = require('path'); const path = require('path');
const testRunner = require('vscode/lib/testrunner'); import * as testRunner from 'vscodetestcover';
const suite = 'Notebook Extension Integration Tests'; const suite = 'Notebook Extension Integration Tests';
const options: any = { const testOptions: any = {
ui: 'bdd', ui: 'bdd',
useColors: true, useColors: true,
timeout: 600000 timeout: 600000
}; };
const coverageConfig: any = {
coverConfig: '../../coverageConfig.json'
};
if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) { if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) {
options.reporter = 'mocha-multi-reporters'; testOptions.reporter = 'mocha-multi-reporters';
options.reporterOptions = { testOptions.reporterOptions = {
reporterEnabled: 'spec, mocha-junit-reporter', reporterEnabled: 'spec, mocha-junit-reporter',
mochaJunitReporterReporterOptions: { mochaJunitReporterReporterOptions: {
testsuitesTitle: `${suite} ${process.platform}`, testsuitesTitle: `${suite} ${process.platform}`,
@@ -25,6 +29,6 @@ if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) {
}; };
} }
testRunner.configure(options); testRunner.configure(testOptions, coverageConfig);
export = testRunner; export = testRunner;

View File

@@ -4,19 +4,24 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
const path = require('path'); const path = require('path');
const testRunner = require('vscode/lib/testrunner'); import * as testRunner from 'vscodetestcover';
const suite = 'Notebook Tests'; const suite = 'Notebook Tests';
const options: any = { const testOptions: any = {
ui: 'bdd', ui: 'bdd',
useColors: true, useColors: true,
timeout: 600000 timeout: 600000,
};
// Coverage is currently disabled - the coverage runner isn't currently able to correctly parse es2018 javascript
const coverageConfig: any = {
coverConfig: '../../coverageConfig.json'
}; };
if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) { if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) {
options.reporter = 'mocha-multi-reporters'; testOptions.reporter = 'mocha-multi-reporters';
options.reporterOptions = { testOptions.reporterOptions = {
reporterEnabled: 'spec, mocha-junit-reporter', reporterEnabled: 'spec, mocha-junit-reporter',
mochaJunitReporterReporterOptions: { mochaJunitReporterReporterOptions: {
testsuitesTitle: `${suite} ${process.platform}`, testsuitesTitle: `${suite} ${process.platform}`,
@@ -25,6 +30,6 @@ if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) {
}; };
} }
testRunner.configure(options); testRunner.configure(testOptions, coverageConfig);
export = testRunner; export = testRunner;

File diff suppressed because it is too large Load Diff

View File

@@ -79,7 +79,6 @@
"vscode-nls": "^3.2.1" "vscode-nls": "^3.2.1"
}, },
"devDependencies": { "devDependencies": {
"vscode": "1.0.1"
}, },
"__metadata": { "__metadata": {
"id": "18", "id": "18",

File diff suppressed because it is too large Load Diff

View File

@@ -12,6 +12,7 @@ echo %VSCODEEXTENSIONSDIR%
call .\scripts\code.bat --extensionDevelopmentPath=%~dp0\..\extensions\admin-tool-ext-win --extensionTestsPath=%~dp0\..\extensions\admin-tool-ext-win\out\test --user-data-dir=%VSCODEUSERDATADIR% --extensions-dir=%VSCODEEXTENSIONSDIR% --disableExtensions --remote-debugging-port=9222 call .\scripts\code.bat --extensionDevelopmentPath=%~dp0\..\extensions\admin-tool-ext-win --extensionTestsPath=%~dp0\..\extensions\admin-tool-ext-win\out\test --user-data-dir=%VSCODEUSERDATADIR% --extensions-dir=%VSCODEEXTENSIONSDIR% --disableExtensions --remote-debugging-port=9222
call .\scripts\code.bat --extensionDevelopmentPath=%~dp0\..\extensions\agent --extensionTestsPath=%~dp0\..\extensions\agent\out\test --user-data-dir=%VSCODEUSERDATADIR% --extensions-dir=%VSCODEEXTENSIONSDIR% --remote-debugging-port=9222 call .\scripts\code.bat --extensionDevelopmentPath=%~dp0\..\extensions\agent --extensionTestsPath=%~dp0\..\extensions\agent\out\test --user-data-dir=%VSCODEUSERDATADIR% --extensions-dir=%VSCODEEXTENSIONSDIR% --remote-debugging-port=9222
call .\scripts\code.bat --extensionDevelopmentPath=%~dp0\..\extensions\azurecore --extensionTestsPath=%~dp0\..\extensions\azurecore\out\test --user-data-dir=%VSCODEUSERDATADIR% --extensions-dir=%VSCODEEXTENSIONSDIR% --disableExtensions --remote-debugging-port=9222
call .\scripts\code.bat --extensionDevelopmentPath=%~dp0\..\extensions\cms --extensionTestsPath=%~dp0\..\extensions\cms\out\test --user-data-dir=%VSCODEUSERDATADIR% --extensions-dir=%VSCODEEXTENSIONSDIR% --remote-debugging-port=9222 call .\scripts\code.bat --extensionDevelopmentPath=%~dp0\..\extensions\cms --extensionTestsPath=%~dp0\..\extensions\cms\out\test --user-data-dir=%VSCODEUSERDATADIR% --extensions-dir=%VSCODEEXTENSIONSDIR% --remote-debugging-port=9222
call .\scripts\code.bat --extensionDevelopmentPath=%~dp0\..\extensions\notebook --extensionTestsPath=%~dp0\..\extensions\notebook\out\test --user-data-dir=%VSCODEUSERDATADIR% --extensions-dir=%VSCODEEXTENSIONSDIR% --remote-debugging-port=9222 call .\scripts\code.bat --extensionDevelopmentPath=%~dp0\..\extensions\notebook --extensionTestsPath=%~dp0\..\extensions\notebook\out\test --user-data-dir=%VSCODEUSERDATADIR% --extensions-dir=%VSCODEEXTENSIONSDIR% --remote-debugging-port=9222

View File

@@ -20,6 +20,7 @@ echo $VSCODEEXTDIR
./scripts/code.sh --extensionDevelopmentPath=$ROOT/extensions/admin-tool-ext-win --extensionTestsPath=$ROOT/extensions/admin-tool-ext-win/out/test --user-data-dir=$VSCODEUSERDATADIR --extensions-dir=$VSCODEEXTDIR ./scripts/code.sh --extensionDevelopmentPath=$ROOT/extensions/admin-tool-ext-win --extensionTestsPath=$ROOT/extensions/admin-tool-ext-win/out/test --user-data-dir=$VSCODEUSERDATADIR --extensions-dir=$VSCODEEXTDIR
./scripts/code.sh --extensionDevelopmentPath=$ROOT/extensions/agent --extensionTestsPath=$ROOT/extensions/agent/out/test --user-data-dir=$VSCODEUSERDATADIR --extensions-dir=$VSCODEEXTDIR ./scripts/code.sh --extensionDevelopmentPath=$ROOT/extensions/agent --extensionTestsPath=$ROOT/extensions/agent/out/test --user-data-dir=$VSCODEUSERDATADIR --extensions-dir=$VSCODEEXTDIR
./scripts/code.sh --extensionDevelopmentPath=$ROOT/extensions/azurecore --extensionTestsPath=$ROOT/extensions/azurecore/out/test --user-data-dir=$VSCODEUSERDATADIR --extensions-dir=$VSCODEEXTDIR
./scripts/code.sh --extensionDevelopmentPath=$ROOT/extensions/cms --extensionTestsPath=$ROOT/extensions/cms/out/test --user-data-dir=$VSCODEUSERDATADIR --extensions-dir=$VSCODEEXTDIR ./scripts/code.sh --extensionDevelopmentPath=$ROOT/extensions/cms --extensionTestsPath=$ROOT/extensions/cms/out/test --user-data-dir=$VSCODEUSERDATADIR --extensions-dir=$VSCODEEXTDIR
./scripts/code.sh --extensionDevelopmentPath=$ROOT/extensions/notebook --extensionTestsPath=$ROOT/extensions/notebook/out/test --user-data-dir=$VSCODEUSERDATADIR --extensions-dir=$VSCODEEXTDIR ./scripts/code.sh --extensionDevelopmentPath=$ROOT/extensions/notebook --extensionTestsPath=$ROOT/extensions/notebook/out/test --user-data-dir=$VSCODEUSERDATADIR --extensions-dir=$VSCODEEXTDIR