Skip to content

Commit

Permalink
Revert "Fix #58060"
Browse files Browse the repository at this point in the history
This reverts commit 7de4737.
  • Loading branch information
sandy081 committed Sep 6, 2018
1 parent bd55fd8 commit 554eb6e
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 48 deletions.
36 changes: 21 additions & 15 deletions test/smoke/src/application.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export enum Quality {

export interface ApplicationOptions extends SpawnOptions {
quality: Quality;
folderPath: string;
workspacePath: string;
workspaceFilePath: string;
waitTime: number;
}
Expand Down Expand Up @@ -61,29 +61,20 @@ export class Application {
}

async start(): Promise<any> {
this.options.workspacePath = this.options.folderPath;
await this._start();
await this.code.waitForElement('.explorer-folders-view');
await this.code.waitForActiveElement(`.editor-instance[id="workbench.editor.walkThroughPart"] > div > div[tabIndex="0"]`);
}

async restart(options: { workspaceFilePath?: string, userDataDir?: string, extraArgs?: string[] }): Promise<any> {
async restart(options: { workspaceOrFolder?: string, extraArgs?: string[] }): Promise<any> {
await this.stop();
await new Promise(c => setTimeout(c, 1000));
Object.keys(options).forEach(key => {
if (options[key] === null || options[key] === undefined) {
delete options[key];
}
});
this.options = { ...this.options, ...options };
this.options.workspacePath = options.workspaceFilePath ? options.workspaceFilePath : this.options.workspacePath;
await this._start();
await this._start(options.workspaceOrFolder, options.extraArgs);
}

private async _start(): Promise<any> {
cp.execSync('git checkout .', { cwd: this.options.folderPath });
this._code = await spawn(this.options);
this._workbench = new Workbench(this._code, this.userDataPath);
private async _start(workspaceOrFolder = this.options.workspacePath, extraArgs: string[] = []): Promise<any> {
cp.execSync('git checkout .', { cwd: this.options.workspacePath });
await this.startApplication(workspaceOrFolder, extraArgs);
await this.checkWindowReady();
}

Expand All @@ -107,6 +98,21 @@ export class Application {
return this.code.capturePage();
}

private async startApplication(workspaceOrFolder: string, extraArgs: string[] = []): Promise<any> {
this._code = await spawn({
codePath: this.options.codePath,
workspacePath: workspaceOrFolder,
userDataDir: this.options.userDataDir,
extensionsPath: this.options.extensionsPath,
logger: this.options.logger,
verbose: this.options.verbose,
log: this.options.log,
extraArgs,
});

this._workbench = new Workbench(this._code, this.userDataPath);
}

private async checkWindowReady(): Promise<any> {
if (!this.code) {
console.error('No code instance found');
Expand Down
2 changes: 1 addition & 1 deletion test/smoke/src/areas/multiroot/multiroot.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export function setup() {

// restart with preventing additional windows from restoring
// to ensure the window after restart is the multi-root workspace
await app.restart({ workspaceFilePath: app.workspaceFilePath, extraArgs: ['--disable-restore-windows'] });
await app.restart({ workspaceOrFolder: app.workspaceFilePath, extraArgs: ['--disable-restore-windows'] });
});

it('shows results from all folders', async function () {
Expand Down
16 changes: 0 additions & 16 deletions test/smoke/src/areas/workbench/launch.test.ts

This file was deleted.

29 changes: 13 additions & 16 deletions test/smoke/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ import { setup as setupDataExtensionTests } from './areas/extensions/extensions.
import { setup as setupTerminalTests } from './areas/terminal/terminal.test';
import { setup as setupDataMultirootTests } from './areas/multiroot/multiroot.test';
import { setup as setupDataLocalizationTests } from './areas/workbench/localization.test';
import { setup as setupLaunchTests } from './areas/workbench/launch.test';
import { MultiLogger, Logger, ConsoleLogger, FileLogger } from './logger';

const tmpDir = tmp.dirSync({ prefix: 't' }) as { name: string; removeCallback: Function; };
Expand All @@ -54,7 +53,7 @@ const opts = minimist(args, {

const workspaceFilePath = path.join(testDataPath, 'smoketest.code-workspace');
const testRepoUrl = 'https://github.com/Microsoft/vscode-smoketest-express';
const folderPath = path.join(testDataPath, 'vscode-smoketest-express');
const workspacePath = path.join(testDataPath, 'vscode-smoketest-express');
const extensionsPath = path.join(testDataPath, 'extensions-dir');
mkdirp.sync(extensionsPath);

Expand Down Expand Up @@ -159,13 +158,13 @@ async function createWorkspaceFile(): Promise<void> {
const workspace = {
folders: [
{
path: toUri(path.join(folderPath, 'public'))
path: toUri(path.join(workspacePath, 'public'))
},
{
path: toUri(path.join(folderPath, 'routes'))
path: toUri(path.join(workspacePath, 'routes'))
},
{
path: toUri(path.join(folderPath, 'views'))
path: toUri(path.join(workspacePath, 'views'))
}
]
};
Expand All @@ -176,22 +175,22 @@ async function createWorkspaceFile(): Promise<void> {
async function setupRepository(): Promise<void> {
if (opts['test-repo']) {
console.log('*** Copying test project repository:', opts['test-repo']);
rimraf.sync(folderPath);
rimraf.sync(workspacePath);
// not platform friendly
cp.execSync(`cp -R "${opts['test-repo']}" "${folderPath}"`);
cp.execSync(`cp -R "${opts['test-repo']}" "${workspacePath}"`);
} else {
if (!fs.existsSync(folderPath)) {
if (!fs.existsSync(workspacePath)) {
console.log('*** Cloning test project repository...');
cp.spawnSync('git', ['clone', testRepoUrl, folderPath]);
cp.spawnSync('git', ['clone', testRepoUrl, workspacePath]);
} else {
console.log('*** Cleaning test project repository...');
cp.spawnSync('git', ['fetch'], { cwd: folderPath });
cp.spawnSync('git', ['reset', '--hard', 'FETCH_HEAD'], { cwd: folderPath });
cp.spawnSync('git', ['clean', '-xdf'], { cwd: folderPath });
cp.spawnSync('git', ['fetch'], { cwd: workspacePath });
cp.spawnSync('git', ['reset', '--hard', 'FETCH_HEAD'], { cwd: workspacePath });
cp.spawnSync('git', ['clean', '-xdf'], { cwd: workspacePath });
}

console.log('*** Running yarn...');
cp.execSync('yarn', { cwd: folderPath, stdio: 'inherit' });
cp.execSync('yarn', { cwd: workspacePath, stdio: 'inherit' });
}
}

Expand Down Expand Up @@ -222,8 +221,7 @@ function createApp(quality: Quality): Application {
return new Application({
quality,
codePath: opts.build,
folderPath,
workspacePath: folderPath,
workspacePath,
userDataDir,
extensionsPath,
workspaceFilePath,
Expand Down Expand Up @@ -310,5 +308,4 @@ describe('Test', () => {
setupTerminalTests();
setupDataMultirootTests();
setupDataLocalizationTests();
setupLaunchTests();
});

0 comments on commit 554eb6e

Please sign in to comment.