Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
e42a1b08
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e42a1b08
编写于
6月 24, 2019
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
build - add and use --disable-inspect for integration tests (#74898)
上级
e35db87c
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
27 addition
and
33 deletion
+27
-33
scripts/test-integration.bat
scripts/test-integration.bat
+7
-7
scripts/test-integration.sh
scripts/test-integration.sh
+5
-5
src/vs/platform/environment/common/environment.ts
src/vs/platform/environment/common/environment.ts
+1
-0
src/vs/platform/environment/node/environmentService.ts
src/vs/platform/environment/node/environmentService.ts
+1
-1
src/vs/workbench/services/extensions/electron-browser/extensionHost.ts
...nch/services/extensions/electron-browser/extensionHost.ts
+13
-20
未找到文件。
scripts/test-integration.bat
浏览文件 @
e42a1b08
...
...
@@ -10,25 +10,25 @@ call .\scripts\test.bat --runGlob **\*.integrationTest.js %*
if
%errorlevel%
neq
0
exit
/b
%errorlevel%
:: 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%
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%
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%
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%
:: 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
if
%errorlevel%
neq
0
exit
/b
%errorlevel%
REM
if exist ".\resources\server\test\test-remote-integration.bat" (
REM
call .\resources\server\test\test-remote-integration.bat
REM
)
if
exist
".\resources\server\test\test-remote-integration.bat"
(
call
.\resources\server\test\test
-remote-integration
.bat
)
rmdir
/s /q
%VSCODEUSERDATADIR%
...
...
scripts/test-integration.sh
浏览文件 @
e42a1b08
...
...
@@ -16,13 +16,13 @@ cd $ROOT
./scripts/test.sh
--runGlob
**
/
*
.integrationTest.js
"
$@
"
# 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.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-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/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/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
--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
--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
--disable-inspect
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
if
[
-f
./resources/server/test/test-remote-integration.sh
]
;
then
...
...
src/vs/platform/environment/common/environment.ts
浏览文件 @
e42a1b08
...
...
@@ -69,6 +69,7 @@ export interface ParsedArgs {
remote
?:
string
;
'
disable-user-env-probe
'
?:
boolean
;
'
enable-remote-auto-shutdown
'
?:
boolean
;
'
disable-inspect
'
?:
boolean
;
}
export
const
IEnvironmentService
=
createDecorator
<
IEnvironmentService
>
(
'
environmentService
'
);
...
...
src/vs/platform/environment/node/environmentService.ts
浏览文件 @
e42a1b08
...
...
@@ -294,7 +294,7 @@ export function parseSearchPort(args: ParsedArgs, isBuild: boolean): IDebugParam
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
port
=
Number
(
portStr
)
||
(
!
isBuild
?
defaultBuildPort
:
null
);
const
brk
=
port
?
Boolean
(
!!
debugBrkArg
)
:
false
;
...
...
src/vs/workbench/services/extensions/electron-browser/extensionHost.ts
浏览文件 @
e42a1b08
...
...
@@ -57,7 +57,7 @@ export class ExtensionHostProcessWorker implements IExtensionHostStarter {
// Resources, in order they get acquired/created when .start() is called:
private
_namedPipeServer
:
Server
|
null
;
private
_inspectPort
:
number
;
private
_inspectPort
:
number
|
null
;
private
_extensionHostProcess
:
ChildProcess
|
null
;
private
_extensionHostConnection
:
Socket
|
null
;
private
_messageProtocol
:
Promise
<
PersistentProtocol
>
|
null
;
...
...
@@ -123,7 +123,10 @@ export class ExtensionHostProcessWorker implements IExtensionHostStarter {
}
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
portData
=
data
[
1
];
...
...
@@ -146,7 +149,7 @@ export class ExtensionHostProcessWorker implements IExtensionHostStarter {
silent
:
true
};
if
(
portData
.
actual
)
{
if
(
portData
&&
portData
.
actual
)
{
opts
.
execArgv
=
[
'
--nolazy
'
,
(
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
));
// Notify debugger that we are ready to attach to the process if we run a development extension
if
(
this
.
_isExtensionDevHost
&&
portData
.
actual
&&
this
.
_isExtensionDevDebug
&&
this
.
_environmentService
.
debugExtensionHost
.
debugId
)
{
this
.
_extensionHostDebugService
.
attachSession
(
this
.
_environmentService
.
debugExtensionHost
.
debugId
,
portData
.
actual
);
if
(
portData
)
{
if
(
this
.
_isExtensionDevHost
&&
portData
.
actual
&&
this
.
_isExtensionDevDebug
&&
this
.
_environmentService
.
debugExtensionHost
.
debugId
)
{
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
let
startupTimeoutHandle
:
any
;
...
...
@@ -457,20 +462,8 @@ export class ExtensionHostProcessWorker implements IExtensionHostStarter {
this
.
_onExit
.
fire
([
code
,
signal
]);
}
public
enableInspector
():
Promise
<
void
>
{
if
(
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
getInspectPort
():
number
|
undefined
{
return
withNullAsUndefined
(
this
.
_inspectPort
);
}
public
terminate
():
void
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录