From b4f114ba919d19d397b3214b31a0a935e31b3f44 Mon Sep 17 00:00:00 2001 From: Traian Anghel Date: Mon, 1 Oct 2018 15:42:08 +0300 Subject: [PATCH] added unit test for DebugType ArgumentNullException in CommandLineArgumentReader fix --- .../ProjectLoadErrorOnMissingDebugType.csproj | 53 +++++++++++++++++++ .../ProjectLoadErrorOnMissingDebugType.sln | 25 +++++++++ .../CoreTestUtilities/TestFiles/Resources.cs | 2 + .../MSBuildTest/MSBuildWorkspaceTests.cs | 14 +++++ 4 files changed, 94 insertions(+) create mode 100644 src/Workspaces/CoreTestUtilities/Resources/ProjectFiles/CSharp/ProjectLoadErrorOnMissingDebugType.csproj create mode 100644 src/Workspaces/CoreTestUtilities/Resources/SolutionFiles/ProjectLoadErrorOnMissingDebugType.sln diff --git a/src/Workspaces/CoreTestUtilities/Resources/ProjectFiles/CSharp/ProjectLoadErrorOnMissingDebugType.csproj b/src/Workspaces/CoreTestUtilities/Resources/ProjectFiles/CSharp/ProjectLoadErrorOnMissingDebugType.csproj new file mode 100644 index 00000000000..3f529c51de5 --- /dev/null +++ b/src/Workspaces/CoreTestUtilities/Resources/ProjectFiles/CSharp/ProjectLoadErrorOnMissingDebugType.csproj @@ -0,0 +1,53 @@ + + + + + Debug + AnyCPU + {B2417A38-6B3D-4482-9354-14AAF628340D} + Exe + ProjectLoadErrorOnMissingDebugType + ProjectLoadErrorOnMissingDebugType + v4.6.1 + 512 + true + true + + + AnyCPU + true + + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Workspaces/CoreTestUtilities/Resources/SolutionFiles/ProjectLoadErrorOnMissingDebugType.sln b/src/Workspaces/CoreTestUtilities/Resources/SolutionFiles/ProjectLoadErrorOnMissingDebugType.sln new file mode 100644 index 00000000000..817766ed40c --- /dev/null +++ b/src/Workspaces/CoreTestUtilities/Resources/SolutionFiles/ProjectLoadErrorOnMissingDebugType.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28010.2036 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectLoadErrorOnMissingDebugType", "ProjectLoadErrorOnMissingDebugType\ProjectLoadErrorOnMissingDebugType.csproj", "{B2417A38-6B3D-4482-9354-14AAF628340D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B2417A38-6B3D-4482-9354-14AAF628340D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B2417A38-6B3D-4482-9354-14AAF628340D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B2417A38-6B3D-4482-9354-14AAF628340D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B2417A38-6B3D-4482-9354-14AAF628340D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {9A9BD150-2994-4451-B166-D44022E8F764} + EndGlobalSection +EndGlobal diff --git a/src/Workspaces/CoreTestUtilities/TestFiles/Resources.cs b/src/Workspaces/CoreTestUtilities/TestFiles/Resources.cs index 554f64e2e6e..b8a4e30c9d4 100644 --- a/src/Workspaces/CoreTestUtilities/TestFiles/Resources.cs +++ b/src/Workspaces/CoreTestUtilities/TestFiles/Resources.cs @@ -93,6 +93,7 @@ public static class SolutionFiles public static string MissingEndProject3 => GetText("SolutionFiles.MissingEndProject3.sln"); public static string NetCoreMultiTFM_ProjectReferenceToFSharp = GetText("NetCoreMultiTFM_ProjectReferenceToFSharp.Solution.sln"); public static string NonExistentProject => GetText("SolutionFiles.NonExistentProject.sln"); + public static string ProjectLoadErrorOnMissingDebugType => GetText("SolutionFiles.ProjectLoadErrorOnMissingDebugType.sln"); public static string SolutionFolder => GetText("SolutionFiles.SolutionFolder.sln"); public static string VB_and_CSharp => GetText("SolutionFiles.VB_and_CSharp.sln"); } @@ -138,6 +139,7 @@ public static class CSharp public static string NetCoreMultiTFM_ProjectReferenceWithReversedTFMs_Library => GetText("NetCoreMultiTFM_ProjectReferenceWithReversedTFMs.Library.csproj"); public static string NetCoreMultiTFM_ProjectReferenceWithReversedTFMs_Project => GetText("NetCoreMultiTFM_ProjectReferenceWithReversedTFMs.Project.csproj"); public static string PortableProject => GetText("ProjectFiles.CSharp.PortableProject.csproj"); + public static string ProjectLoadErrorOnMissingDebugType => GetText("ProjectFiles.CSharp.ProjectLoadErrorOnMissingDebugType.csproj"); public static string ProjectReference => GetText("ProjectFiles.CSharp.ProjectReference.csproj"); public static string ReferencesPortableProject => GetText("ProjectFiles.CSharp.ReferencesPortableProject.csproj"); public static string Wildcards => GetText("ProjectFiles.CSharp.Wildcards.csproj"); diff --git a/src/Workspaces/MSBuildTest/MSBuildWorkspaceTests.cs b/src/Workspaces/MSBuildTest/MSBuildWorkspaceTests.cs index 304d78a5c57..d97702eb86c 100644 --- a/src/Workspaces/MSBuildTest/MSBuildWorkspaceTests.cs +++ b/src/Workspaces/MSBuildTest/MSBuildWorkspaceTests.cs @@ -3032,6 +3032,20 @@ public async Task TestOpenSolution_WithDuplicatedGuidsBecomeCircularReferential( } } + [ConditionalFact(typeof(VisualStudioMSBuildInstalled)), Trait(Traits.Feature, Traits.Features.MSBuildWorkspace)] + public async Task TestOpenProject_CSharp_WithMissingDebugType() + { + CreateFiles(new FileSet( + (@"ProjectLoadErrorOnMissingDebugType.sln", Resources.SolutionFiles.ProjectLoadErrorOnMissingDebugType), + (@"ProjectLoadErrorOnMissingDebugType\ProjectLoadErrorOnMissingDebugType.csproj", Resources.ProjectFiles.CSharp.ProjectLoadErrorOnMissingDebugType))); + var solutionFilePath = GetSolutionFileName(@"ProjectLoadErrorOnMissingDebugType.sln"); + + using (var workspace = CreateMSBuildWorkspace()) + { + await workspace.OpenSolutionAsync(solutionFilePath); + } + } + [ConditionalFact(typeof(VisualStudioMSBuildInstalled)), Trait(Traits.Feature, Traits.Features.MSBuildWorkspace)] [WorkItem(991528, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/991528")] public async Task MSBuildProjectShouldHandleCodePageProperty() -- GitLab