Vscode merge (#4582)

* Merge from vscode 37cb23d3dd4f9433d56d4ba5ea3203580719a0bd

* fix issues with merges

* bump node version in azpipe

* replace license headers

* remove duplicate launch task

* fix build errors

* fix build errors

* fix tslint issues

* working through package and linux build issues

* more work

* wip

* fix packaged builds

* working through linux build errors

* wip

* wip

* wip

* fix mac and linux file limits

* iterate linux pipeline

* disable editor typing

* revert series to parallel

* remove optimize vscode from linux

* fix linting issues

* revert testing change

* add work round for new node

* readd packaging for extensions

* fix issue with angular not resolving decorator dependencies
This commit is contained in:
Anthony Dresser
2019-03-19 17:44:35 -07:00
committed by GitHub
parent 833d197412
commit 87765e8673
1879 changed files with 54505 additions and 38058 deletions

View File

@@ -6,7 +6,7 @@
import * as assert from 'assert';
import * as os from 'os';
import * as path from 'path';
import * as path from 'vs/base/common/path';
import * as fs from 'fs';
import * as uuid from 'vs/base/common/uuid';
import { ConfigWatcher } from 'vs/base/node/config';

View File

@@ -5,7 +5,7 @@
import * as assert from 'assert';
import { getFirstFrame } from 'vs/base/node/console';
import { normalize } from 'path';
import { normalize } from 'vs/base/common/path';
suite('Console', () => {

View File

@@ -6,7 +6,7 @@
import * as assert from 'assert';
import * as fs from 'fs';
import * as os from 'os';
import * as path from 'path';
import * as path from 'vs/base/common/path';
import { Readable } from 'stream';
import { canNormalize } from 'vs/base/common/normalization';
import { isLinux, isWindows } from 'vs/base/common/platform';

View File

@@ -3,7 +3,7 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as assert from 'assert';
import * as path from 'path';
import * as path from 'vs/base/common/path';
import * as glob from 'vs/base/common/glob';
import { isWindows } from 'vs/base/common/platform';
@@ -102,6 +102,9 @@ suite('Glob', () => {
p = 'C:/DNXConsoleApp/**/*.cs';
assertGlobMatch(p, 'C:\\DNXConsoleApp\\Program.cs');
assertGlobMatch(p, 'C:\\DNXConsoleApp\\foo\\Program.cs');
p = '*';
assertGlobMatch(p, '');
});
test('dot hidden', function () {
@@ -719,7 +722,10 @@ suite('Glob', () => {
assert.strictEqual(glob.match(expr, 'bar', hasSibling), '**/bar');
assert.strictEqual(glob.match(expr, 'foo', hasSibling), null);
assert.strictEqual(glob.match(expr, 'foo/bar', hasSibling), '**/bar');
assert.strictEqual(glob.match(expr, 'foo\\bar', hasSibling), '**/bar');
if (isWindows) {
// backslash is a valid file name character on posix
assert.strictEqual(glob.match(expr, 'foo\\bar', hasSibling), '**/bar');
}
assert.strictEqual(glob.match(expr, 'foo/foo', hasSibling), null);
assert.strictEqual(glob.match(expr, 'foo.js', hasSibling), '**/*.js');
assert.strictEqual(glob.match(expr, 'bar.js', hasSibling), null);
@@ -948,14 +954,14 @@ suite('Glob', () => {
test('relative pattern - glob star', function () {
if (isWindows) {
let p: glob.IRelativePattern = { base: 'C:\\DNXConsoleApp\\foo', pattern: '**/*.cs', pathToRelative: (from, to) => path.relative(from, to) };
let p: glob.IRelativePattern = { base: 'C:\\DNXConsoleApp\\foo', pattern: '**/*.cs' };
assertGlobMatch(p, 'C:\\DNXConsoleApp\\foo\\Program.cs');
assertGlobMatch(p, 'C:\\DNXConsoleApp\\foo\\bar\\Program.cs');
assertNoGlobMatch(p, 'C:\\DNXConsoleApp\\foo\\Program.ts');
assertNoGlobMatch(p, 'C:\\DNXConsoleApp\\Program.cs');
assertNoGlobMatch(p, 'C:\\other\\DNXConsoleApp\\foo\\Program.ts');
} else {
let p: glob.IRelativePattern = { base: '/DNXConsoleApp/foo', pattern: '**/*.cs', pathToRelative: (from, to) => path.relative(from, to) };
let p: glob.IRelativePattern = { base: '/DNXConsoleApp/foo', pattern: '**/*.cs' };
assertGlobMatch(p, '/DNXConsoleApp/foo/Program.cs');
assertGlobMatch(p, '/DNXConsoleApp/foo/bar/Program.cs');
assertNoGlobMatch(p, '/DNXConsoleApp/foo/Program.ts');
@@ -966,14 +972,14 @@ suite('Glob', () => {
test('relative pattern - single star', function () {
if (isWindows) {
let p: glob.IRelativePattern = { base: 'C:\\DNXConsoleApp\\foo', pattern: '*.cs', pathToRelative: (from, to) => path.relative(from, to) };
let p: glob.IRelativePattern = { base: 'C:\\DNXConsoleApp\\foo', pattern: '*.cs' };
assertGlobMatch(p, 'C:\\DNXConsoleApp\\foo\\Program.cs');
assertNoGlobMatch(p, 'C:\\DNXConsoleApp\\foo\\bar\\Program.cs');
assertNoGlobMatch(p, 'C:\\DNXConsoleApp\\foo\\Program.ts');
assertNoGlobMatch(p, 'C:\\DNXConsoleApp\\Program.cs');
assertNoGlobMatch(p, 'C:\\other\\DNXConsoleApp\\foo\\Program.ts');
} else {
let p: glob.IRelativePattern = { base: '/DNXConsoleApp/foo', pattern: '*.cs', pathToRelative: (from, to) => path.relative(from, to) };
let p: glob.IRelativePattern = { base: '/DNXConsoleApp/foo', pattern: '*.cs' };
assertGlobMatch(p, '/DNXConsoleApp/foo/Program.cs');
assertNoGlobMatch(p, '/DNXConsoleApp/foo/bar/Program.cs');
assertNoGlobMatch(p, '/DNXConsoleApp/foo/Program.ts');
@@ -984,11 +990,11 @@ suite('Glob', () => {
test('relative pattern - single star with path', function () {
if (isWindows) {
let p: glob.IRelativePattern = { base: 'C:\\DNXConsoleApp\\foo', pattern: 'something/*.cs', pathToRelative: (from, to) => path.relative(from, to) };
let p: glob.IRelativePattern = { base: 'C:\\DNXConsoleApp\\foo', pattern: 'something/*.cs' };
assertGlobMatch(p, 'C:\\DNXConsoleApp\\foo\\something\\Program.cs');
assertNoGlobMatch(p, 'C:\\DNXConsoleApp\\foo\\Program.cs');
} else {
let p: glob.IRelativePattern = { base: '/DNXConsoleApp/foo', pattern: 'something/*.cs', pathToRelative: (from, to) => path.relative(from, to) };
let p: glob.IRelativePattern = { base: '/DNXConsoleApp/foo', pattern: 'something/*.cs' };
assertGlobMatch(p, '/DNXConsoleApp/foo/something/Program.cs');
assertNoGlobMatch(p, '/DNXConsoleApp/foo/Program.cs');
}
@@ -1000,11 +1006,11 @@ suite('Glob', () => {
test('relative pattern - #57475', function () {
if (isWindows) {
let p: glob.IRelativePattern = { base: 'C:\\DNXConsoleApp\\foo', pattern: 'styles/style.css', pathToRelative: (from, to) => path.relative(from, to) };
let p: glob.IRelativePattern = { base: 'C:\\DNXConsoleApp\\foo', pattern: 'styles/style.css' };
assertGlobMatch(p, 'C:\\DNXConsoleApp\\foo\\styles\\style.css');
assertNoGlobMatch(p, 'C:\\DNXConsoleApp\\foo\\Program.cs');
} else {
let p: glob.IRelativePattern = { base: '/DNXConsoleApp/foo', pattern: 'styles/style.css', pathToRelative: (from, to) => path.relative(from, to) };
let p: glob.IRelativePattern = { base: '/DNXConsoleApp/foo', pattern: 'styles/style.css' };
assertGlobMatch(p, '/DNXConsoleApp/foo/styles/style.css');
assertNoGlobMatch(p, '/DNXConsoleApp/foo/Program.cs');
}

View File

@@ -0,0 +1,35 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as assert from 'assert';
import * as platform from 'vs/base/common/platform';
suite('Keytar', () => {
test('loads and is functional', function (done) {
if (platform.isLinux) {
// Skip test due to set up issue with Travis.
this.skip();
return;
}
(async () => {
const keytar = await import('keytar');
const name = `VSCode Test ${Math.floor(Math.random() * 1e9)}`;
try {
await keytar.setPassword(name, 'foo', 'bar');
assert.equal(await keytar.getPassword(name, 'foo'), 'bar');
await keytar.deletePassword(name, 'foo');
assert.equal(await keytar.getPassword(name, 'foo'), undefined);
} catch (err) {
// try to clean up
try {
await keytar.deletePassword(name, 'foo');
} finally {
// tslint:disable-next-line: no-unsafe-finally
throw err;
}
}
})().then(done, done);
});
});

View File

@@ -6,7 +6,7 @@
import * as assert from 'assert';
import * as os from 'os';
import * as path from 'path';
import * as path from 'vs/base/common/path';
import * as fs from 'fs';
import * as uuid from 'vs/base/common/uuid';

View File

@@ -84,29 +84,4 @@ suite('Processes', () => {
}
});
});
test('sanitizeProcessEnvironment', () => {
let env = {
FOO: 'bar',
ELECTRON_ENABLE_STACK_DUMPING: 'x',
ELECTRON_ENABLE_LOGGING: 'x',
ELECTRON_NO_ASAR: 'x',
ELECTRON_NO_ATTACH_CONSOLE: 'x',
ELECTRON_RUN_AS_NODE: 'x',
GOOGLE_API_KEY: 'x',
VSCODE_CLI: 'x',
VSCODE_DEV: 'x',
VSCODE_IPC_HOOK: 'x',
VSCODE_LOGS: 'x',
VSCODE_NLS_CONFIG: 'x',
VSCODE_PORTABLE: 'x',
VSCODE_PID: 'x',
VSCODE_NODE_CACHED_DATA_DIR: 'x',
VSCODE_NEW_VAR: 'x'
};
processes.sanitizeProcessEnvironment(env);
assert.equal(env['FOO'], 'bar');
assert.equal(Object.keys(env).length, 1);
});
});

View File

@@ -5,7 +5,7 @@
import { Storage, SQLiteStorageDatabase, IStorageDatabase, ISQLiteStorageDatabaseOptions, IStorageItemsChangeEvent } from 'vs/base/node/storage';
import { generateUuid } from 'vs/base/common/uuid';
import { join } from 'path';
import { join } from 'vs/base/common/path';
import { tmpdir } from 'os';
import { equal, ok } from 'assert';
import { mkdirp, del, writeFile, exists, unlink } from 'vs/base/node/pfs';
@@ -31,7 +31,7 @@ suite('Storage Library', () => {
// Empty fallbacks
equal(storage.get('foo', 'bar'), 'bar');
equal(storage.getInteger('foo', 55), 55);
equal(storage.getNumber('foo', 55), 55);
equal(storage.getBoolean('foo', true), true);
let changes = new Set<string>();
@@ -45,7 +45,7 @@ suite('Storage Library', () => {
const set3Promise = storage.set('barBoolean', true);
equal(storage.get('bar'), 'foo');
equal(storage.getInteger('barNumber'), 55);
equal(storage.getNumber('barNumber'), 55);
equal(storage.getBoolean('barBoolean'), true);
equal(changes.size, 3);
@@ -71,7 +71,7 @@ suite('Storage Library', () => {
const delete3Promise = storage.delete('barBoolean');
ok(!storage.get('bar'));
ok(!storage.getInteger('barNumber'));
ok(!storage.getNumber('barNumber'));
ok(!storage.getBoolean('barBoolean'));
equal(changes.size, 3);
@@ -539,7 +539,9 @@ suite('SQLite Storage Library', () => {
await del(storageDir, tmpdir());
});
test('real world example', async () => {
test('real world example', async function () {
this.timeout(20000);
const storageDir = uniqueStorageDir();
await mkdirp(storageDir);
@@ -553,7 +555,7 @@ suite('SQLite Storage Library', () => {
items1.set('debug.actionswidgetposition', '0.6880952380952381');
const items2 = new Map<string, string>();
items2.set('workbench.editors.files.textfileeditor', '{"textEditorViewState":[["file:///Users/dummy/Documents/ticino-playground/play.htm",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":6,"column":16},"position":{"lineNumber":6,"column":16}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":1,"column":1},"firstPositionDeltaTop":0},"contributionsState":{"editor.contrib.folding":{},"editor.contrib.wordHighlighter":false}}}],["file:///Users/dummy/Documents/ticino-playground/nakefile.js",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":7,"column":81},"position":{"lineNumber":7,"column":81}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":1,"column":1},"firstPositionDeltaTop":20},"contributionsState":{"editor.contrib.folding":{},"editor.contrib.wordHighlighter":false}}}],["file:///Users/dummy/Desktop/vscode2/.gitattributes",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":9,"column":12},"position":{"lineNumber":9,"column":12}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":1,"column":1},"firstPositionDeltaTop":20},"contributionsState":{"editor.contrib.folding":{},"editor.contrib.wordHighlighter":false}}}],["file:///Users/dummy/Desktop/vscode2/src/vs/workbench/parts/search/browser/openAnythingHandler.ts",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":1,"column":1},"position":{"lineNumber":1,"column":1}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":1,"column":1},"firstPositionDeltaTop":0},"contributionsState":{"editor.contrib.folding":{},"editor.contrib.wordHighlighter":false}}}]]}');
items2.set('workbench.editors.files.textfileeditor', '{"textEditorViewState":[["file:///Users/dummy/Documents/ticino-playground/play.htm",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":6,"column":16},"position":{"lineNumber":6,"column":16}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":1,"column":1},"firstPositionDeltaTop":0},"contributionsState":{"editor.contrib.folding":{},"editor.contrib.wordHighlighter":false}}}],["file:///Users/dummy/Documents/ticino-playground/nakefile.js",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":7,"column":81},"position":{"lineNumber":7,"column":81}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":1,"column":1},"firstPositionDeltaTop":20},"contributionsState":{"editor.contrib.folding":{},"editor.contrib.wordHighlighter":false}}}],["file:///Users/dummy/Desktop/vscode2/.gitattributes",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":9,"column":12},"position":{"lineNumber":9,"column":12}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":1,"column":1},"firstPositionDeltaTop":20},"contributionsState":{"editor.contrib.folding":{},"editor.contrib.wordHighlighter":false}}}],["file:///Users/dummy/Desktop/vscode2/src/vs/workbench/contrib/search/browser/openAnythingHandler.ts",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":1,"column":1},"position":{"lineNumber":1,"column":1}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":1,"column":1},"firstPositionDeltaTop":0},"contributionsState":{"editor.contrib.folding":{},"editor.contrib.wordHighlighter":false}}}]]}');
const items3 = new Map<string, string>();
items3.set('nps/iscandidate', 'false');
@@ -628,7 +630,9 @@ suite('SQLite Storage Library', () => {
await del(storageDir, tmpdir());
});
test('very large item value', async () => {
test('very large item value', async function () {
this.timeout(20000);
const storageDir = uniqueStorageDir();
await mkdirp(storageDir);

View File

@@ -0,0 +1,11 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { join } from 'vs/base/common/path';
import { generateUuid } from 'vs/base/common/uuid';
export function getRandomTestPath(tmpdir: string, ...segments: string[]): string {
return join(tmpdir, ...segments, generateUuid());
}

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { generateUuid } from 'vs/base/common/uuid';
import { join } from 'path';
import { join } from 'vs/base/common/path';
import { tmpdir } from 'os';
import { mkdirp, del } from 'vs/base/node/pfs';