mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-20 00:28:52 +01:00
96 lines
3.6 KiB
JavaScript
96 lines
3.6 KiB
JavaScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. 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 || process.env.GITHUB_WORKSPACE) {
|
|
options.reporter = 'mocha-multi-reporters';
|
|
options.reporterOptions = {
|
|
reporterEnabled: 'spec, mocha-junit-reporter',
|
|
mochaJunitReporterReporterOptions: {
|
|
testsuitesTitle: `${suite} ${process.platform}`,
|
|
mochaFile: join(process.env.BUILD_ARTIFACTSTAGINGDIRECTORY || process.env.GITHUB_WORKSPACE || __dirname,
|
|
`test-results/${process.platform}-${process.arch}-${suite.toLowerCase().replace(/[^\w]/g, '-')}-results.xml`)
|
|
}
|
|
};
|
|
}
|
|
|
|
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) #
|
|
# #
|
|
# Please also scan through attached crash logs in case the #
|
|
# failure was caused by a native crash. #
|
|
# #
|
|
# Show playwright traces on: https://trace.playwright.dev/ #
|
|
# #
|
|
###################################################################
|
|
`);
|
|
} else if (process.env.GITHUB_WORKSPACE) {
|
|
console.log(`
|
|
###################################################################
|
|
# #
|
|
# Logs are attached as build artefact and can be downloaded #
|
|
# from the build Summary page: #
|
|
# - click on "Summary" in the top left corner #
|
|
# - scroll all the way down to "Artifacts" #
|
|
# #
|
|
# Please also scan through attached crash logs in case the #
|
|
# failure was caused by a native crash. #
|
|
# #
|
|
# 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);
|
|
});
|