提交 1b336c0a 编写于 作者: J Jason Malinowski

Add a test to test building with devenv /build

Fixes https://github.com/dotnet/roslyn/issues/16865
上级 a50015ac
......@@ -22,6 +22,7 @@ public static class Features
public const string BlockCommentEditing = nameof(BlockCommentEditing);
public const string BraceHighlighting = nameof(BraceHighlighting);
public const string BraceMatching = nameof(BraceMatching);
public const string Build = nameof(Build);
public const string CallHierarchy = nameof(CallHierarchy);
public const string CaseCorrection = nameof(CaseCorrection);
public const string ChangeSignature = nameof(ChangeSignature);
......
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using System.Diagnostics;
using System.IO;
using Microsoft.CodeAnalysis;
using Microsoft.VisualStudio.IntegrationTest.Utilities;
using Roslyn.Test.Utilities;
using Xunit;
namespace Roslyn.VisualStudio.IntegrationTests.CSharp
......@@ -17,7 +20,7 @@ public CSharpBuild(VisualStudioInstanceFactory instanceFactory)
VisualStudio.Instance.SolutionExplorer.AddProject("TestProj", WellKnownProjectTemplates.ConsoleApplication, LanguageNames.CSharp);
}
[Fact]
[Fact, Trait(Traits.Feature, Traits.Features.Build)]
public void BuildProject()
{
var editorText = @"using System;
......@@ -35,5 +38,25 @@ static void Main(string[] args)
// TODO: Validate build works as expected
}
[Fact, Trait(Traits.Feature, Traits.Features.Build)]
public void BuildWithCommandLine()
{
VisualStudio.Instance.SolutionExplorer.SaveAll();
var pathToDevenv = Path.Combine(VisualStudio.Instance.InstallationPath, @"Common7\IDE\devenv.exe");
var pathToSolution = VisualStudio.Instance.SolutionExplorer.SolutionFileFullPath;
var logFileName = pathToSolution + ".log";
File.Delete(logFileName);
var commandLine = $"\"{pathToSolution}\" /Rebuild Debug /Out \"{logFileName}\" {VisualStudioInstanceFactory.VsLaunchArgs}";
var process = Process.Start(pathToDevenv, commandLine);
process.WaitForExit();
Assert.Equal(0, process.ExitCode);
Assert.Contains("Rebuild All: 1 succeeded, 0 failed, 0 skipped", File.ReadAllText(logFileName));
}
}
}
......@@ -2,6 +2,7 @@
using Microsoft.CodeAnalysis;
using Microsoft.VisualStudio.IntegrationTest.Utilities;
using Roslyn.Test.Utilities;
using Xunit;
namespace Roslyn.VisualStudio.IntegrationTests.VisualBasic
......@@ -16,7 +17,7 @@ public BasicBuild(VisualStudioInstanceFactory instanceFactory)
VisualStudio.Instance.SolutionExplorer.AddProject("TestProj", WellKnownProjectTemplates.ConsoleApplication, LanguageNames.VisualBasic);
}
[Fact]
[Fact, Trait(Traits.Feature, Traits.Features.Build)]
public void BuildProject()
{
var editorText = @"Module Program
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册