Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
be547e26
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,发现更多精彩内容 >>
提交
be547e26
编写于
6月 04, 2019
作者:
M
Martin Aeschlimann
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fixes for remote smoke tests against a build
上级
d7977c88
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
32 addition
and
5 deletion
+32
-5
extensions/vscode-test-resolver/src/extension.ts
extensions/vscode-test-resolver/src/extension.ts
+10
-3
test/smoke/src/application.ts
test/smoke/src/application.ts
+8
-0
test/smoke/src/areas/extensions/extensions.test.ts
test/smoke/src/areas/extensions/extensions.test.ts
+4
-0
test/smoke/src/areas/multiroot/multiroot.test.ts
test/smoke/src/areas/multiroot/multiroot.test.ts
+3
-1
test/smoke/src/vscode/code.ts
test/smoke/src/vscode/code.ts
+7
-1
未找到文件。
extensions/vscode-test-resolver/src/extension.ts
浏览文件 @
be547e26
...
...
@@ -65,7 +65,7 @@ export function activate(context: vscode.ExtensionContext) {
return
;
}
const
{
updateUrl
,
commit
,
quality
}
=
getProductConfiguration
();
const
{
updateUrl
,
commit
,
quality
,
serverDataFolderName
,
dataFolderName
}
=
getProductConfiguration
();
if
(
!
commit
)
{
// dev mode
const
vscodePath
=
path
.
resolve
(
path
.
join
(
context
.
extensionPath
,
'
..
'
,
'
..
'
));
const
nodeExec
=
process
.
platform
===
'
win32
'
?
'
node.exe
'
:
'
node
'
;
...
...
@@ -86,7 +86,10 @@ export function activate(context: vscode.ExtensionContext) {
const
env
=
getNewEnv
();
extHostProcess
=
cp
.
spawn
(
nodePath
,
[
path
.
join
(
'
out
'
,
'
remoteExtensionHostAgent
'
),
'
--port=0
'
],
{
cwd
:
vscodePath
,
env
});
}
else
{
const
serverBin
=
path
.
resolve
(
os
.
homedir
(),
'
.vscode-remote
'
,
'
bin
'
);
const
remoteDataDir
=
process
.
env
[
'
TESTRESOLVER_DATA_FOLDER
'
]
||
path
.
join
(
os
.
homedir
(),
serverDataFolderName
||
`
${
dataFolderName
}
-testresolver`
);
outputChannel
.
appendLine
(
`Using data folder at
${
remoteDataDir
}
`
);
const
serverBin
=
path
.
join
(
remoteDataDir
,
'
bin
'
);
progress
.
report
({
message
:
'
Installing VSCode Server
'
});
const
serverLocation
=
await
downloadAndUnzipVSCodeServer
(
updateUrl
,
commit
,
quality
,
serverBin
);
outputChannel
.
appendLine
(
`Using server build at
${
serverLocation
}
`
);
...
...
@@ -95,8 +98,10 @@ export function activate(context: vscode.ExtensionContext) {
const
env
=
getNewEnv
();
env
[
'
PATH
'
]
=
path
.
join
(
serverLocation
,
'
bin
'
)
+
path
.
delimiter
+
env
[
'
PATH
'
];
// code command for the terminal
env
[
'
VSCODE_AGENT_FOLDER
'
]
=
remoteDataDir
;
extHostProcess
=
cp
.
spawn
(
path
.
join
(
serverLocation
,
'
server.sh
'
),
commandArgs
,
{
env
,
cwd
:
serverLocation
});
const
serverCommand
=
process
.
platform
===
'
win32
'
?
'
server.bat
'
:
'
server.sh
'
;
extHostProcess
=
cp
.
spawn
(
path
.
join
(
serverLocation
,
serverCommand
),
commandArgs
,
{
env
,
cwd
:
serverLocation
});
}
extHostProcess
.
stdout
.
on
(
'
data
'
,
(
data
:
Buffer
)
=>
processOutput
(
data
.
toString
()));
extHostProcess
.
stderr
.
on
(
'
data
'
,
(
data
:
Buffer
)
=>
processOutput
(
data
.
toString
()));
...
...
@@ -166,6 +171,8 @@ export interface IProductConfiguration {
updateUrl
:
string
;
commit
:
string
;
quality
:
string
;
dataFolderName
:
string
;
serverDataFolderName
?:
string
;
}
function
getProductConfiguration
():
IProductConfiguration
{
...
...
test/smoke/src/application.ts
浏览文件 @
be547e26
...
...
@@ -47,6 +47,10 @@ export class Application {
return
this
.
options
.
logger
;
}
get
remote
():
boolean
{
return
!!
this
.
options
.
remote
;
}
private
_workspacePathOrFolder
:
string
;
get
workspacePathOrFolder
():
string
{
return
this
.
_workspacePathOrFolder
;
...
...
@@ -135,6 +139,10 @@ export class Application {
await
this
.
code
.
waitForWindowIds
(
ids
=>
ids
.
length
>
0
);
await
this
.
code
.
waitForElement
(
'
.monaco-workbench
'
);
if
(
this
.
remote
)
{
await
this
.
code
.
waitForElement
(
'
.monaco-workbench .statusbar-item.statusbar-entry a[title="Editing on TestResolver"]
'
);
}
// wait a bit, since focus might be stolen off widgets
// as soon as they open (eg quick open)
await
new
Promise
(
c
=>
setTimeout
(
c
,
1000
));
...
...
test/smoke/src/areas/extensions/extensions.test.ts
浏览文件 @
be547e26
...
...
@@ -20,6 +20,10 @@ export function setup() {
await
app
.
workbench
.
extensions
.
installExtension
(
'
michelkaporin.vscode-smoketest-check
'
,
'
vscode-smoketest-check
'
);
await
app
.
workbench
.
extensions
.
waitForExtensionsViewlet
();
if
(
app
.
remote
)
{
await
app
.
reload
();
}
await
app
.
workbench
.
quickopen
.
runCommand
(
'
Smoke Test Check
'
);
await
app
.
workbench
.
statusbar
.
waitForStatusbarText
(
'
smoke test
'
,
'
VS Code Smoke Test Check
'
);
});
...
...
test/smoke/src/areas/multiroot/multiroot.test.ts
浏览文件 @
be547e26
...
...
@@ -47,7 +47,9 @@ export function setup() {
const
app
=
this
.
app
as
Application
;
await
app
.
workbench
.
quickopen
.
openQuickOpen
(
'
*.*
'
);
await
app
.
workbench
.
quickopen
.
waitForQuickOpenElements
(
names
=>
names
.
length
===
6
);
const
numResultsExpected
=
this
.
app
.
remote
?
7
:
6
;
await
app
.
workbench
.
quickopen
.
waitForQuickOpenElements
(
names
=>
names
.
length
===
numResultsExpected
);
await
app
.
workbench
.
quickopen
.
closeQuickOpen
();
});
...
...
test/smoke/src/vscode/code.ts
浏览文件 @
be547e26
...
...
@@ -7,6 +7,7 @@ import * as path from 'path';
import
*
as
cp
from
'
child_process
'
;
import
*
as
os
from
'
os
'
;
import
*
as
fs
from
'
fs
'
;
import
*
as
mkdirp
from
'
mkdirp
'
;
import
{
tmpName
}
from
'
tmp
'
;
import
{
IDriver
,
connect
as
connectDriver
,
IDisposable
,
IElement
,
Thenable
}
from
'
./driver
'
;
import
{
Logger
}
from
'
../logger
'
;
...
...
@@ -123,6 +124,8 @@ export async function spawn(options: SpawnOptions): Promise<Code> {
'
--driver
'
,
handle
];
const
env
=
process
.
env
;
if
(
options
.
remote
)
{
// Replace workspace path with URI
args
.
shift
();
...
...
@@ -139,6 +142,9 @@ export async function spawn(options: SpawnOptions): Promise<Code> {
}
}
args
.
push
(
'
--enable-proposed-api=vscode.vscode-test-resolver
'
);
const
remoteDataDir
=
`
${
options
.
userDataDir
}
-server`
;
mkdirp
.
sync
(
remoteDataDir
);
env
[
'
TESTRESOLVER_DATA_FOLDER
'
]
=
remoteDataDir
;
}
if
(
!
codePath
)
{
...
...
@@ -157,7 +163,7 @@ export async function spawn(options: SpawnOptions): Promise<Code> {
args
.
push
(...
options
.
extraArgs
);
}
const
spawnOptions
:
cp
.
SpawnOptions
=
{};
const
spawnOptions
:
cp
.
SpawnOptions
=
{
env
};
const
child
=
cp
.
spawn
(
electronPath
,
args
,
spawnOptions
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录