mirror of
https://github.com/Microsoft/vscode
synced 2024-09-18 01:58:27 +00:00
build - add and use --disable-inspect for integration tests (#74898)
This commit is contained in:
parent
e35db87ce7
commit
e42a1b0878
|
@ -10,25 +10,25 @@ call .\scripts\test.bat --runGlob **\*.integrationTest.js %*
|
||||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||||
|
|
||||||
:: Tests in the extension host
|
:: Tests in the extension host
|
||||||
call .\scripts\code.bat %~dp0\..\extensions\vscode-api-tests\testWorkspace --extensionDevelopmentPath=%~dp0\..\extensions\vscode-api-tests --extensionTestsPath=%~dp0\..\extensions\vscode-api-tests\out\singlefolder-tests --disable-extensions --user-data-dir=%VSCODEUSERDATADIR%
|
call .\scripts\code.bat %~dp0\..\extensions\vscode-api-tests\testWorkspace --extensionDevelopmentPath=%~dp0\..\extensions\vscode-api-tests --extensionTestsPath=%~dp0\..\extensions\vscode-api-tests\out\singlefolder-tests --disable-extensions --disable-inspect --user-data-dir=%VSCODEUSERDATADIR%
|
||||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||||
|
|
||||||
call .\scripts\code.bat %~dp0\..\extensions\vscode-api-tests\testworkspace.code-workspace --extensionDevelopmentPath=%~dp0\..\extensions\vscode-api-tests --extensionTestsPath=%~dp0\..\extensions\vscode-api-tests\out\workspace-tests --disable-extensions --user-data-dir=%VSCODEUSERDATADIR%
|
call .\scripts\code.bat %~dp0\..\extensions\vscode-api-tests\testworkspace.code-workspace --extensionDevelopmentPath=%~dp0\..\extensions\vscode-api-tests --extensionTestsPath=%~dp0\..\extensions\vscode-api-tests\out\workspace-tests --disable-extensions --disable-inspect --user-data-dir=%VSCODEUSERDATADIR%
|
||||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||||
|
|
||||||
call .\scripts\code.bat %~dp0\..\extensions\vscode-colorize-tests\test --extensionDevelopmentPath=%~dp0\..\extensions\vscode-colorize-tests --extensionTestsPath=%~dp0\..\extensions\vscode-colorize-tests\out --disable-extensions --user-data-dir=%VSCODEUSERDATADIR%
|
call .\scripts\code.bat %~dp0\..\extensions\vscode-colorize-tests\test --extensionDevelopmentPath=%~dp0\..\extensions\vscode-colorize-tests --extensionTestsPath=%~dp0\..\extensions\vscode-colorize-tests\out --disable-extensions --disable-inspect --user-data-dir=%VSCODEUSERDATADIR%
|
||||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||||
|
|
||||||
call .\scripts\code.bat $%~dp0\..\extensions\emmet\test-fixtures --extensionDevelopmentPath=%~dp0\..\extensions\emmet --extensionTestsPath=%~dp0\..\extensions\emmet\out\test --disable-extensions --user-data-dir=%VSCODEUSERDATADIR% .
|
call .\scripts\code.bat $%~dp0\..\extensions\emmet\test-fixtures --extensionDevelopmentPath=%~dp0\..\extensions\emmet --extensionTestsPath=%~dp0\..\extensions\emmet\out\test --disable-extensions --disable-inspect --user-data-dir=%VSCODEUSERDATADIR% .
|
||||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||||
|
|
||||||
:: Tests in commonJS (HTML, CSS, JSON language server tests...)
|
:: Tests in commonJS (HTML, CSS, JSON language server tests...)
|
||||||
call .\scripts\node-electron.bat .\node_modules\mocha\bin\_mocha .\extensions\*\server\out\test\**\*.test.js
|
call .\scripts\node-electron.bat .\node_modules\mocha\bin\_mocha .\extensions\*\server\out\test\**\*.test.js
|
||||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||||
|
|
||||||
REM if exist ".\resources\server\test\test-remote-integration.bat" (
|
if exist ".\resources\server\test\test-remote-integration.bat" (
|
||||||
REM call .\resources\server\test\test-remote-integration.bat
|
call .\resources\server\test\test-remote-integration.bat
|
||||||
REM )
|
)
|
||||||
|
|
||||||
rmdir /s /q %VSCODEUSERDATADIR%
|
rmdir /s /q %VSCODEUSERDATADIR%
|
||||||
|
|
||||||
|
|
|
@ -16,13 +16,13 @@ cd $ROOT
|
||||||
./scripts/test.sh --runGlob **/*.integrationTest.js "$@"
|
./scripts/test.sh --runGlob **/*.integrationTest.js "$@"
|
||||||
|
|
||||||
# Tests in the extension host
|
# Tests in the extension host
|
||||||
./scripts/code.sh $ROOT/extensions/vscode-api-tests/testWorkspace --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/singlefolder-tests --disable-extensions --user-data-dir=$VSCODEUSERDATADIR --skip-getting-started
|
./scripts/code.sh $ROOT/extensions/vscode-api-tests/testWorkspace --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/singlefolder-tests --disable-extensions --user-data-dir=$VSCODEUSERDATADIR --skip-getting-started --disable-inspect
|
||||||
./scripts/code.sh $ROOT/extensions/vscode-api-tests/testworkspace.code-workspace --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/workspace-tests --disable-extensions --user-data-dir=$VSCODEUSERDATADIR --skip-getting-started
|
./scripts/code.sh $ROOT/extensions/vscode-api-tests/testworkspace.code-workspace --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/workspace-tests --disable-extensions --user-data-dir=$VSCODEUSERDATADIR --skip-getting-started --disable-inspect
|
||||||
./scripts/code.sh $ROOT/extensions/vscode-colorize-tests/test --extensionDevelopmentPath=$ROOT/extensions/vscode-colorize-tests --extensionTestsPath=$ROOT/extensions/vscode-colorize-tests/out --disable-extensions --user-data-dir=$VSCODEUSERDATADIR --skip-getting-started
|
./scripts/code.sh $ROOT/extensions/vscode-colorize-tests/test --extensionDevelopmentPath=$ROOT/extensions/vscode-colorize-tests --extensionTestsPath=$ROOT/extensions/vscode-colorize-tests/out --disable-extensions --user-data-dir=$VSCODEUSERDATADIR --skip-getting-started --disable-inspect
|
||||||
./scripts/code.sh $ROOT/extensions/markdown-language-features/test-fixtures --extensionDevelopmentPath=$ROOT/extensions/markdown-language-features --extensionTestsPath=$ROOT/extensions/markdown-language-features/out/test --disable-extensions --user-data-dir=$VSCODEUSERDATADIR --skip-getting-started
|
./scripts/code.sh $ROOT/extensions/markdown-language-features/test-fixtures --extensionDevelopmentPath=$ROOT/extensions/markdown-language-features --extensionTestsPath=$ROOT/extensions/markdown-language-features/out/test --disable-extensions --user-data-dir=$VSCODEUSERDATADIR --skip-getting-started --disable-inspect
|
||||||
|
|
||||||
mkdir -p $ROOT/extensions/emmet/test-fixtures
|
mkdir -p $ROOT/extensions/emmet/test-fixtures
|
||||||
./scripts/code.sh $ROOT/extensions/emmet/test-fixtures --extensionDevelopmentPath=$ROOT/extensions/emmet --extensionTestsPath=$ROOT/extensions/emmet/out/test --disable-extensions --user-data-dir=$VSCODEUSERDATADIR --skip-getting-started
|
./scripts/code.sh $ROOT/extensions/emmet/test-fixtures --extensionDevelopmentPath=$ROOT/extensions/emmet --extensionTestsPath=$ROOT/extensions/emmet/out/test --disable-extensions --user-data-dir=$VSCODEUSERDATADIR --skip-getting-started --disable-inspect
|
||||||
rm -rf $ROOT/extensions/emmet/test-fixtures
|
rm -rf $ROOT/extensions/emmet/test-fixtures
|
||||||
|
|
||||||
if [ -f ./resources/server/test/test-remote-integration.sh ]; then
|
if [ -f ./resources/server/test/test-remote-integration.sh ]; then
|
||||||
|
|
|
@ -69,6 +69,7 @@ export interface ParsedArgs {
|
||||||
remote?: string;
|
remote?: string;
|
||||||
'disable-user-env-probe'?: boolean;
|
'disable-user-env-probe'?: boolean;
|
||||||
'enable-remote-auto-shutdown'?: boolean;
|
'enable-remote-auto-shutdown'?: boolean;
|
||||||
|
'disable-inspect'?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const IEnvironmentService = createDecorator<IEnvironmentService>('environmentService');
|
export const IEnvironmentService = createDecorator<IEnvironmentService>('environmentService');
|
||||||
|
|
|
@ -294,7 +294,7 @@ export function parseSearchPort(args: ParsedArgs, isBuild: boolean): IDebugParam
|
||||||
return parseDebugPort(args['inspect-search'], args['inspect-brk-search'], 5876, isBuild);
|
return parseDebugPort(args['inspect-search'], args['inspect-brk-search'], 5876, isBuild);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function parseDebugPort(debugArg: string | undefined, debugBrkArg: string | undefined, defaultBuildPort: number, isBuild: boolean, debugId?: string): IExtensionHostDebugParams {
|
function parseDebugPort(debugArg: string | undefined, debugBrkArg: string | undefined, defaultBuildPort: number, isBuild: boolean, debugId?: string): IExtensionHostDebugParams {
|
||||||
const portStr = debugBrkArg || debugArg;
|
const portStr = debugBrkArg || debugArg;
|
||||||
const port = Number(portStr) || (!isBuild ? defaultBuildPort : null);
|
const port = Number(portStr) || (!isBuild ? defaultBuildPort : null);
|
||||||
const brk = port ? Boolean(!!debugBrkArg) : false;
|
const brk = port ? Boolean(!!debugBrkArg) : false;
|
||||||
|
|
|
@ -57,7 +57,7 @@ export class ExtensionHostProcessWorker implements IExtensionHostStarter {
|
||||||
|
|
||||||
// Resources, in order they get acquired/created when .start() is called:
|
// Resources, in order they get acquired/created when .start() is called:
|
||||||
private _namedPipeServer: Server | null;
|
private _namedPipeServer: Server | null;
|
||||||
private _inspectPort: number;
|
private _inspectPort: number | null;
|
||||||
private _extensionHostProcess: ChildProcess | null;
|
private _extensionHostProcess: ChildProcess | null;
|
||||||
private _extensionHostConnection: Socket | null;
|
private _extensionHostConnection: Socket | null;
|
||||||
private _messageProtocol: Promise<PersistentProtocol> | null;
|
private _messageProtocol: Promise<PersistentProtocol> | null;
|
||||||
|
@ -123,7 +123,10 @@ export class ExtensionHostProcessWorker implements IExtensionHostStarter {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this._messageProtocol) {
|
if (!this._messageProtocol) {
|
||||||
this._messageProtocol = Promise.all([this._tryListenOnPipe(), this._tryFindDebugPort()]).then(data => {
|
this._messageProtocol = Promise.all([
|
||||||
|
this._tryListenOnPipe(),
|
||||||
|
!this._environmentService.args['disable-inspect'] ? this._tryFindDebugPort() : Promise.resolve(null)
|
||||||
|
]).then(data => {
|
||||||
const pipeName = data[0];
|
const pipeName = data[0];
|
||||||
const portData = data[1];
|
const portData = data[1];
|
||||||
|
|
||||||
|
@ -146,7 +149,7 @@ export class ExtensionHostProcessWorker implements IExtensionHostStarter {
|
||||||
silent: true
|
silent: true
|
||||||
};
|
};
|
||||||
|
|
||||||
if (portData.actual) {
|
if (portData && portData.actual) {
|
||||||
opts.execArgv = [
|
opts.execArgv = [
|
||||||
'--nolazy',
|
'--nolazy',
|
||||||
(this._isExtensionDevDebugBrk ? '--inspect-brk=' : '--inspect=') + portData.actual
|
(this._isExtensionDevDebugBrk ? '--inspect-brk=' : '--inspect=') + portData.actual
|
||||||
|
@ -213,10 +216,12 @@ export class ExtensionHostProcessWorker implements IExtensionHostStarter {
|
||||||
this._extensionHostProcess.on('exit', (code: number, signal: string) => this._onExtHostProcessExit(code, signal));
|
this._extensionHostProcess.on('exit', (code: number, signal: string) => this._onExtHostProcessExit(code, signal));
|
||||||
|
|
||||||
// Notify debugger that we are ready to attach to the process if we run a development extension
|
// Notify debugger that we are ready to attach to the process if we run a development extension
|
||||||
|
if (portData) {
|
||||||
if (this._isExtensionDevHost && portData.actual && this._isExtensionDevDebug && this._environmentService.debugExtensionHost.debugId) {
|
if (this._isExtensionDevHost && portData.actual && this._isExtensionDevDebug && this._environmentService.debugExtensionHost.debugId) {
|
||||||
this._extensionHostDebugService.attachSession(this._environmentService.debugExtensionHost.debugId, portData.actual);
|
this._extensionHostDebugService.attachSession(this._environmentService.debugExtensionHost.debugId, portData.actual);
|
||||||
}
|
}
|
||||||
this._inspectPort = portData.actual;
|
this._inspectPort = portData.actual;
|
||||||
|
}
|
||||||
|
|
||||||
// Help in case we fail to start it
|
// Help in case we fail to start it
|
||||||
let startupTimeoutHandle: any;
|
let startupTimeoutHandle: any;
|
||||||
|
@ -457,20 +462,8 @@ export class ExtensionHostProcessWorker implements IExtensionHostStarter {
|
||||||
this._onExit.fire([code, signal]);
|
this._onExit.fire([code, signal]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public enableInspector(): Promise<void> {
|
public getInspectPort(): number | undefined {
|
||||||
if (this._inspectPort) {
|
return withNullAsUndefined(this._inspectPort);
|
||||||
return Promise.resolve();
|
|
||||||
}
|
|
||||||
// send SIGUSR1 and wait a little the actual port is read from the process stdout which we
|
|
||||||
// scan here: https://github.com/Microsoft/vscode/blob/67ffab8dcd1a6752d8b62bcd13d7020101eef568/src/vs/workbench/services/extensions/electron-browser/extensionHost.ts#L225-L240
|
|
||||||
if (this._extensionHostProcess) {
|
|
||||||
this._extensionHostProcess.kill('SIGUSR1');
|
|
||||||
}
|
|
||||||
return timeout(1000);
|
|
||||||
}
|
|
||||||
|
|
||||||
public getInspectPort(): number {
|
|
||||||
return this._inspectPort;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public terminate(): void {
|
public terminate(): void {
|
||||||
|
|
Loading…
Reference in a new issue