mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-29 09:35:38 -05:00
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:
@@ -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';
|
||||
|
||||
@@ -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', () => {
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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');
|
||||
}
|
||||
|
||||
35
src/vs/base/test/node/keytar.test.ts
Normal file
35
src/vs/base/test/node/keytar.test.ts
Normal 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);
|
||||
});
|
||||
});
|
||||
@@ -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';
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -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);
|
||||
|
||||
11
src/vs/base/test/node/testUtils.ts
Normal file
11
src/vs/base/test/node/testUtils.ts
Normal 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());
|
||||
}
|
||||
@@ -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';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user