Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
11154c25
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
11154c25
编写于
9月 21, 2020
作者:
S
Sam Harwell
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Make sure to dispose of MockVisualStudioWorkspace
上级
637cb4c8
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
20 addition
and
13 deletion
+20
-13
src/VisualStudio/CSharp/Test/CodeModel/AbstractFileCodeElementTests.cs
...dio/CSharp/Test/CodeModel/AbstractFileCodeElementTests.cs
+12
-6
src/VisualStudio/CSharp/Test/CodeModel/FileCodeModelTestHelpers.cs
...lStudio/CSharp/Test/CodeModel/FileCodeModelTestHelpers.cs
+2
-5
src/VisualStudio/Core/Test/ObjectBrowser/AbstractObjectBrowserTests.vb
...dio/Core/Test/ObjectBrowser/AbstractObjectBrowserTests.vb
+1
-1
src/VisualStudio/Core/Test/ObjectBrowser/Helpers.vb
src/VisualStudio/Core/Test/ObjectBrowser/Helpers.vb
+4
-1
src/VisualStudio/TestUtilities2/CodeModel/CodeModelTestState.vb
...sualStudio/TestUtilities2/CodeModel/CodeModelTestState.vb
+1
-0
未找到文件。
src/VisualStudio/CSharp/Test/CodeModel/AbstractFileCodeElementTests.cs
浏览文件 @
11154c25
...
...
@@ -21,29 +21,34 @@ namespace Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests.CodeModel
public
abstract
class
AbstractFileCodeElementTests
:
IDisposable
{
private
readonly
string
_contents
;
private
Tuple
<
TestWorkspace
,
FileCodeModel
>
_workspaceAndCodeModel
;
private
(
TestWorkspace
workspace
,
VisualStudioWorkspace
extraWorkspaceToDisposeButNotUse
,
FileCodeModel
fileCodeModel
)?
_workspaceAndCodeModel
;
public
AbstractFileCodeElementTests
(
string
contents
)
{
_contents
=
contents
;
}
public
Tuple
<
TestWorkspace
,
FileCodeModel
>
WorkspaceAndCodeModel
public
(
TestWorkspace
workspace
,
VisualStudioWorkspace
extraWorkspaceToDisposeButNotUse
,
FileCodeModel
fileCodeModel
)
WorkspaceAndCodeModel
{
get
{
return
_workspaceAndCodeModel
??
(
_workspaceAndCodeModel
=
CreateWorkspaceAndFileCodeModelAsync
(
_contents
)
);
return
_workspaceAndCodeModel
??
=
CreateWorkspaceAndFileCodeModelAsync
(
_contents
);
}
}
protected
TestWorkspace
GetWorkspace
()
{
return
WorkspaceAndCodeModel
.
Item1
;
return
WorkspaceAndCodeModel
.
workspace
;
}
private
VisualStudioWorkspace
GetExtraWorkspaceToDisposeButNotUse
()
{
return
WorkspaceAndCodeModel
.
extraWorkspaceToDisposeButNotUse
;
}
protected
FileCodeModel
GetCodeModel
()
{
return
WorkspaceAndCodeModel
.
Item2
;
return
WorkspaceAndCodeModel
.
fileCodeModel
;
}
protected
Microsoft
.
CodeAnalysis
.
Solution
GetCurrentSolution
()
...
...
@@ -55,7 +60,7 @@ protected Microsoft.CodeAnalysis.Project GetCurrentProject()
protected
Microsoft
.
CodeAnalysis
.
Document
GetCurrentDocument
()
=>
GetCurrentProject
().
Documents
.
Single
();
protected
static
Tuple
<
TestWorkspace
,
EnvDTE
.
FileCodeModel
>
CreateWorkspaceAndFileCodeModelAsync
(
string
file
)
protected
static
(
TestWorkspace
workspace
,
VisualStudioWorkspace
extraWorkspaceToDisposeButNotUse
,
FileCodeModel
fileCodeModel
)
CreateWorkspaceAndFileCodeModelAsync
(
string
file
)
=>
FileCodeModelTestHelpers
.
CreateWorkspaceAndFileCodeModel
(
file
);
protected
CodeElement
GetCodeElement
(
params
object
[]
path
)
...
...
@@ -79,6 +84,7 @@ protected CodeElement GetCodeElement(params object[] path)
public
void
Dispose
()
{
GetExtraWorkspaceToDisposeButNotUse
().
Dispose
();
GetWorkspace
().
Dispose
();
}
...
...
src/VisualStudio/CSharp/Test/CodeModel/FileCodeModelTestHelpers.cs
浏览文件 @
11154c25
...
...
@@ -2,15 +2,12 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using
System
;
using
System.Linq
;
using
System.Runtime.ExceptionServices
;
using
Microsoft.CodeAnalysis.Editor
;
using
Microsoft.CodeAnalysis.Editor.Shared.Utilities
;
using
Microsoft.CodeAnalysis.Editor.UnitTests
;
using
Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces
;
using
Microsoft.CodeAnalysis.Shared.TestHooks
;
using
Microsoft.CodeAnalysis.Test.Utilities
;
using
Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel
;
using
Microsoft.VisualStudio.LanguageServices.Implementation.Interop
;
using
Microsoft.VisualStudio.LanguageServices.UnitTests
;
...
...
@@ -27,7 +24,7 @@ internal static class FileCodeModelTestHelpers
// finalizer complaining we didn't clean it up. Catching AVs is of course not safe, but this is balancing
// "probably not crash" as an improvement over "will crash when the finalizer throws."
[
HandleProcessCorruptedStateExceptions
]
public
static
Tuple
<
TestWorkspace
,
EnvDTE
.
FileCodeModel
>
CreateWorkspaceAndFileCodeModel
(
string
file
)
public
static
(
TestWorkspace
workspace
,
VisualStudioWorkspace
extraWorkspaceToDisposeButNotUse
,
EnvDTE
.
FileCodeModel
fileCodeModel
)
CreateWorkspaceAndFileCodeModel
(
string
file
)
{
var
workspace
=
TestWorkspace
.
CreateCSharp
(
file
,
composition
:
VisualStudioTestCompositions
.
LanguageServices
);
...
...
@@ -59,7 +56,7 @@ internal static class FileCodeModelTestHelpers
var
codeModel
=
FileCodeModel
.
Create
(
state
,
null
,
document
,
new
MockTextManagerAdapter
()).
Handle
;
return
Tuple
.
Create
(
workspace
,
(
EnvDTE
.
FileCodeModel
)
codeModel
);
return
(
workspace
,
visualStudioWorkspaceMock
,
codeModel
);
}
catch
{
...
...
src/VisualStudio/Core/Test/ObjectBrowser/AbstractObjectBrowserTests.vb
浏览文件 @
11154c25
...
...
@@ -48,7 +48,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.ObjectBrowser
Dim
mockServiceProvider
=
New
MockServiceProvider
(
mockComponentModel
)
Dim
libraryManager
=
CreateLibraryManager
(
mockServiceProvider
,
mockComponentModel
,
vsWorkspace
)
result
=
New
TestState
(
workspace
,
libraryManager
)
result
=
New
TestState
(
workspace
,
vsWorkspace
,
libraryManager
)
Finally
If
result
Is
Nothing
Then
workspace
.
Dispose
()
...
...
src/VisualStudio/Core/Test/ObjectBrowser/Helpers.vb
浏览文件 @
11154c25
...
...
@@ -15,15 +15,18 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.ObjectBrowser
Implements
IDisposable
Private
ReadOnly
_workspace
As
TestWorkspace
Private
ReadOnly
_visualStudioWorkspace
As
VisualStudioWorkspace
Private
ReadOnly
_libraryManager
As
AbstractObjectBrowserLibraryManager
Public
Sub
New
(
workspace
As
TestWorkspace
,
libraryManager
As
AbstractObjectBrowserLibraryManager
)
Public
Sub
New
(
workspace
As
TestWorkspace
,
visualStudioWorkspace
As
VisualStudioWorkspace
,
libraryManager
As
AbstractObjectBrowserLibraryManager
)
_workspace
=
workspace
_visualStudioWorkspace
=
visualStudioWorkspace
_libraryManager
=
libraryManager
End
Sub
Public
Sub
Dispose
()
Implements
IDisposable
.
Dispose
_libraryManager
.
Dispose
()
_visualStudioWorkspace
.
Dispose
()
_workspace
.
Dispose
()
End
Sub
...
...
src/VisualStudio/TestUtilities2/CodeModel/CodeModelTestState.vb
浏览文件 @
11154c25
...
...
@@ -86,6 +86,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.CodeModel
If
Not
Me
.
_disposedValue
Then
If
disposing
Then
VisualStudioWorkspace
.
Dispose
()
Workspace
.
Dispose
()
End
If
End
If
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录