Reenable disabled smoke and integration tests (#23976)

* Smoke tests run locally

* Re-enable smoke tests for pipeline

* Resolves merge conflict with distro

* Runs smoke tests with xvfb

* Updates distro commit hash to fix merge conflict

* Install xvfb

* Install xvfb for fail on error

* Removing log path temporarily

* Clarifies edit comments

* Darwin SQL build publishes log files

* Resolve merge conflicts

* Revert "Resolve merge conflicts"

This reverts commit fb53d5662745d4ba5c897be0b0c9eb2ed093a38e.

* Update distro hash

* List all files to find full product.json path

* Fix script

* Fix script

* Adjust test path for arm64

* List all files for darwin

* always list all files

* Specify Darwin logs directory

* Adjust publish log files condition

* Fix condition

* Removes apt from script

* Add missing import

* Fix issues stopping smoke tests from running

* Disables failing tests

* Updates distro hash

* Remove list all files scripts

* Clean up

* Update distro hash
This commit is contained in:
Lewis Sanchez
2023-07-26 10:39:30 -07:00
committed by GitHub
parent cc778ad69f
commit 1d28f838a0
18 changed files with 261 additions and 195 deletions

View File

@@ -4,18 +4,20 @@
*--------------------------------------------------------------------------------------------*/
import * as fs from 'fs';
import { gracefulify } from 'graceful-fs'; // {{SQL CARBON EDIT}} - import graceful-fs
import * as cp from 'child_process';
import * as path from 'path';
import * as os from 'os';
import * as minimist from 'minimist';
import * as rimraf from 'rimraf';
import * as mkdirp from 'mkdirp';
import * as vscodetest from '@vscode/test-electron'; // {{SQL CARBON EDIT}} - import @vscode/test-electron
import { ncp } from 'ncp';
import * as vscodetest from 'vscode-test';
import fetch from 'node-fetch';
import { Quality, ApplicationOptions, MultiLogger, Logger, ConsoleLogger, FileLogger } from '../../automation';
import { Quality, ApplicationOptions, MultiLogger, Logger, ConsoleLogger, FileLogger, measureAndLog } from '../../automation'; // {{SQL CARBON EDIT}} - import measureAndLog
import { main as sqlMain, setup as sqlSetup } from './sql/main'; // {{SQL CARBON EDIT}}
import { retry } from './utils'; // {{SQL CARBON EDIT}} - import retry from utils
/*import { setup as setupDataMigrationTests } from './areas/workbench/data-migration.test';
import { setup as setupDataLossTests } from './areas/workbench/data-loss.test';
import { setup as setupDataPreferencesTests } from './areas/preferences/preferences.test';
@@ -30,6 +32,8 @@ import { setup as setupDataLocalizationTests } from './areas/workbench/localizat
import { setup as setupLaunchTests } from './areas/workbench/launch.test';
import { setup as setupTaskTests } from './areas/task/task.test';*/
const rootPath = path.join(__dirname, '..', '..', '..');
const [, , ...args] = process.argv;
const opts = minimist(args, {
string: [
@@ -60,8 +64,12 @@ const opts = minimist(args, {
tracing?: boolean;
build?: string;
'stable-build'?: string;
browser?: string;
browser?: 'webkit' | 'chromium' | 'firefox' | undefined; // {{SQL CARBON EDIT}} - string literal types
electronArgs?: string;
extensionsDir?: string; // {{SQL CARBON EDIT}}
log?: string; // {{SQL CARBON EDIT}}
screenshots?: string; // {{SQL CARBON EDIT}}
_: string[]
};
const logsRootPath = (() => {
@@ -417,25 +425,26 @@ function createOptions(): ApplicationOptions {
loggers.push(new ConsoleLogger());
}
let log: string | undefined = undefined;
// Prepare logs root path
fs.rmSync(logsRootPath, { recursive: true, force: true, maxRetries: 3 });
mkdirp.sync(logsRootPath);
if (opts.log) {
loggers.push(new FileLogger(opts.log));
log = 'trace';
}
// Always log to log file
loggers.push(new FileLogger(path.join(logsRootPath, 'smoke-test-runner.log')));
return {
quality,
codePath: opts.build,
workspacePath,
userDataDir,
extensionsPath,
extensionsPath: extensionsPath ?? '', // {{SQL CARBON EDIT}} null coalescing
logger,
logsPath: path.join(logsRootPath, 'suite_unknown'),
crashesPath: path.join(crashesRootPath, 'suite_unknown'),
verbose: opts.verbose,
remote: opts.remote,
web: opts.web,
tracing: opts.tracing,
headless: opts.headless,
browser: opts.browser,
extraArgs: (opts.electronArgs || '').split(' ').map(a => a.trim()).filter(a => !!a)