Files
azuredatastudio/test/smoke/test/index.js
Karl Burtram 8a3d08f0de Merge vscode 1.67 (#20883)
* Fix initial build breaks from 1.67 merge (#2514)

* Update yarn lock files

* Update build scripts

* Fix tsconfig

* Build breaks

* WIP

* Update yarn lock files

* Misc breaks

* Updates to package.json

* Breaks

* Update yarn

* Fix breaks

* Breaks

* Build breaks

* Breaks

* Breaks

* Breaks

* Breaks

* Breaks

* Missing file

* Breaks

* Breaks

* Breaks

* Breaks

* Breaks

* Fix several runtime breaks (#2515)

* Missing files

* Runtime breaks

* Fix proxy ordering issue

* Remove commented code

* Fix breaks with opening query editor

* Fix post merge break

* Updates related to setup build and other breaks (#2516)

* Fix bundle build issues

* Update distro

* Fix distro merge and update build JS files

* Disable pipeline steps

* Remove stats call

* Update license name

* Make new RPM dependencies a warning

* Fix extension manager version checks

* Update JS file

* Fix a few runtime breaks

* Fixes

* Fix runtime issues

* Fix build breaks

* Update notebook tests (part 1)

* Fix broken tests

* Linting errors

* Fix hygiene

* Disable lint rules

* Bump distro

* Turn off smoke tests

* Disable integration tests

* Remove failing "activate" test

* Remove failed test assertion

* Disable other broken test

* Disable query history tests

* Disable extension unit tests

* Disable failing tasks
2022-10-19 19:13:18 -07:00

93 lines
3.1 KiB
JavaScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
//@ts-check
'use strict';
const { join } = require('path');
const Mocha = require('mocha');
const minimist = require('minimist');
const [, , ...args] = process.argv;
const opts = minimist(args, {
boolean: ['web'],
string: ['f', 'g']
});
const suite = opts['web'] ? 'Browser Smoke Tests' : 'Desktop Smoke Tests';
const options = {
color: true,
timeout: 2 * 60 * 1000,
slow: 30 * 1000,
grep: opts['f'] || opts['g']
};
if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) {
options.reporter = 'mocha-multi-reporters';
options.reporterOptions = {
reporterEnabled: 'spec, mocha-junit-reporter',
mochaJunitReporterReporterOptions: {
testsuitesTitle: `${suite} ${process.platform}`,
mochaFile: join(process.env.BUILD_ARTIFACTSTAGINGDIRECTORY, `test-results/${process.platform}-${process.arch}-${suite.toLowerCase().replace(/[^\w]/g, '-')}-results.xml`)
}
};
}
// {{SQL CARBON EDIT}} - If grep option is specified, only run the matching test cases (local test case development/debug scenario),
// otherwise the value of 'RUN_UNSTABLE_TESTS' environment variable will be used to determine whether to run the stable test cases or the whole test suite.
// Unstable test cases have "@UNSTABLE@" in their full name (test suite name + test name).
if (!options.grep) {
if (process.env.RUN_UNSTABLE_TESTS === 'true') {
console.info('running all test cases.');
} else {
console.info('running stable test cases.');
options.grep= '@UNSTABLE@';
options.invert = true;
}
} else {
console.info('running test cases match the grep option.');
}
// {{SQL CARBON EDIT}} - end of edit.
const mocha = new Mocha(options);
mocha.addFile('out/main.js');
mocha.run(failures => {
// Indicate location of log files for further diagnosis
if (failures) {
const rootPath = join(__dirname, '..', '..', '..');
const logPath = join(rootPath, '.build', 'logs');
if (process.env.BUILD_ARTIFACTSTAGINGDIRECTORY) {
console.log(`
###################################################################
# #
# Logs are attached as build artefact and can be downloaded #
# from the build Summary page (Summary -> Related -> N published) #
# #
# Show playwright traces on: https://trace.playwright.dev/ #
# #
###################################################################
`);
} else {
console.log(`
#############################################
#
# Log files of client & server are stored into
# '${logPath}'.
#
# Logs of the smoke test runner are stored into
# 'smoke-test-runner.log' in respective folder.
#
#############################################
`);
}
}
process.exit(failures ? -1 : 0);
});