Merge pull request #9306 from dotnet/merges/release/2.1.4xx-to-master
Merge release/2.1.4xx to master
This commit is contained in:
commit
e338e46e10
21 changed files with 117 additions and 19 deletions
|
@ -39,7 +39,7 @@
|
||||||
<VersionPrefix>$(CliVersionPrefix)</VersionPrefix>
|
<VersionPrefix>$(CliVersionPrefix)</VersionPrefix>
|
||||||
<VersionSuffix>$(VersionSuffix)</VersionSuffix>
|
<VersionSuffix>$(VersionSuffix)</VersionSuffix>
|
||||||
<Clean>False</Clean>
|
<Clean>False</Clean>
|
||||||
<MsbuildArgs>/p:TargetFramework=netstandard2.0</MsbuildArgs>
|
<MsbuildArgs>/p:TargetFramework=netstandard2.0 /p:NoWarn=NU5104</MsbuildArgs>
|
||||||
</BaseTestPackageProject>
|
</BaseTestPackageProject>
|
||||||
<BaseTestPackageProject Include="src/Microsoft.DotNet.InternalAbstractions">
|
<BaseTestPackageProject Include="src/Microsoft.DotNet.InternalAbstractions">
|
||||||
<Name>Microsoft.DotNet.InternalAbstractions</Name>
|
<Name>Microsoft.DotNet.InternalAbstractions</Name>
|
||||||
|
|
|
@ -150,4 +150,7 @@
|
||||||
<data name="CreateSubcommandHelpText" xml:space="preserve">
|
<data name="CreateSubcommandHelpText" xml:space="preserve">
|
||||||
<value>Create a solution file.</value>
|
<value>Create a solution file.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="ProjectsHeader" xml:space="preserve">
|
||||||
|
<value>Project(s)</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -36,9 +36,9 @@ namespace Microsoft.DotNet.Tools.Sln.List
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Reporter.Output.WriteLine($"{CommonLocalizableStrings.ProjectReferenceOneOrMore}");
|
Reporter.Output.WriteLine($"{LocalizableStrings.ProjectsHeader}");
|
||||||
Reporter.Output.WriteLine(new string('-', CommonLocalizableStrings.ProjectReferenceOneOrMore.Length));
|
Reporter.Output.WriteLine(new string('-', LocalizableStrings.ProjectsHeader.Length));
|
||||||
foreach (var slnProject in slnFile.Projects)
|
foreach (var slnProject in slnFile.Projects.Where(p => p.TypeGuid != ProjectTypeGuids.SolutionFolderGuid))
|
||||||
{
|
{
|
||||||
Reporter.Output.WriteLine(slnProject.FilePath);
|
Reporter.Output.WriteLine(slnProject.FilePath);
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,6 +57,11 @@
|
||||||
<target state="translated">Vytvoří soubor řešení.</target>
|
<target state="translated">Vytvoří soubor řešení.</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="ProjectsHeader">
|
||||||
|
<source>Project(s)</source>
|
||||||
|
<target state="new">Project(s)</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -57,6 +57,11 @@
|
||||||
<target state="translated">Erstellt eine Projektmappendatei.</target>
|
<target state="translated">Erstellt eine Projektmappendatei.</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="ProjectsHeader">
|
||||||
|
<source>Project(s)</source>
|
||||||
|
<target state="new">Project(s)</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -57,6 +57,11 @@
|
||||||
<target state="translated">Cree un archivo de la solución.</target>
|
<target state="translated">Cree un archivo de la solución.</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="ProjectsHeader">
|
||||||
|
<source>Project(s)</source>
|
||||||
|
<target state="new">Project(s)</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -57,6 +57,11 @@
|
||||||
<target state="translated">Créez un fichier solution.</target>
|
<target state="translated">Créez un fichier solution.</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="ProjectsHeader">
|
||||||
|
<source>Project(s)</source>
|
||||||
|
<target state="new">Project(s)</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -57,6 +57,11 @@
|
||||||
<target state="translated">Consente di creare un file di soluzione.</target>
|
<target state="translated">Consente di creare un file di soluzione.</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="ProjectsHeader">
|
||||||
|
<source>Project(s)</source>
|
||||||
|
<target state="new">Project(s)</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -57,6 +57,11 @@
|
||||||
<target state="translated">ソリューション ファイルを作成します。</target>
|
<target state="translated">ソリューション ファイルを作成します。</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="ProjectsHeader">
|
||||||
|
<source>Project(s)</source>
|
||||||
|
<target state="new">Project(s)</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -57,6 +57,11 @@
|
||||||
<target state="translated">솔루션 파일을 만듭니다.</target>
|
<target state="translated">솔루션 파일을 만듭니다.</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="ProjectsHeader">
|
||||||
|
<source>Project(s)</source>
|
||||||
|
<target state="new">Project(s)</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -57,6 +57,11 @@
|
||||||
<target state="translated">Utwórz plik rozwiązania.</target>
|
<target state="translated">Utwórz plik rozwiązania.</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="ProjectsHeader">
|
||||||
|
<source>Project(s)</source>
|
||||||
|
<target state="new">Project(s)</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -57,6 +57,11 @@
|
||||||
<target state="translated">Criar um arquivo de solução.</target>
|
<target state="translated">Criar um arquivo de solução.</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="ProjectsHeader">
|
||||||
|
<source>Project(s)</source>
|
||||||
|
<target state="new">Project(s)</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -57,6 +57,11 @@
|
||||||
<target state="translated">Создает файл решения.</target>
|
<target state="translated">Создает файл решения.</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="ProjectsHeader">
|
||||||
|
<source>Project(s)</source>
|
||||||
|
<target state="new">Project(s)</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -57,6 +57,11 @@
|
||||||
<target state="translated">Bir çözüm dosyası oluşturun.</target>
|
<target state="translated">Bir çözüm dosyası oluşturun.</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="ProjectsHeader">
|
||||||
|
<source>Project(s)</source>
|
||||||
|
<target state="new">Project(s)</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -57,6 +57,11 @@
|
||||||
<target state="translated">创建解决方案文件。</target>
|
<target state="translated">创建解决方案文件。</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="ProjectsHeader">
|
||||||
|
<source>Project(s)</source>
|
||||||
|
<target state="new">Project(s)</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -57,6 +57,11 @@
|
||||||
<target state="translated">建立方案檔。</target>
|
<target state="translated">建立方案檔。</target>
|
||||||
<note />
|
<note />
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="ProjectsHeader">
|
||||||
|
<source>Project(s)</source>
|
||||||
|
<target state="new">Project(s)</target>
|
||||||
|
<note />
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
|
@ -40,19 +40,19 @@ namespace Microsoft.DotNet.Cli
|
||||||
Create.Option(
|
Create.Option(
|
||||||
"-a|--test-adapter-path",
|
"-a|--test-adapter-path",
|
||||||
LocalizableStrings.CmdTestAdapterPathDescription,
|
LocalizableStrings.CmdTestAdapterPathDescription,
|
||||||
Accept.ExactlyOneArgument()
|
Accept.OneOrMoreArguments()
|
||||||
.With(name: LocalizableStrings.CmdTestAdapterPath)
|
.With(name: LocalizableStrings.CmdTestAdapterPath)
|
||||||
.ForwardAsSingle(o => $"-property:VSTestTestAdapterPath={o.Arguments.Single()}")),
|
.ForwardAsSingle(o => $"-property:VSTestTestAdapterPath=\"{string.Join(";", o.Arguments)}\"")),
|
||||||
Create.Option(
|
Create.Option(
|
||||||
"-l|--logger",
|
"-l|--logger",
|
||||||
LocalizableStrings.CmdLoggerDescription,
|
LocalizableStrings.CmdLoggerDescription,
|
||||||
Accept.ExactlyOneArgument()
|
Accept.OneOrMoreArguments()
|
||||||
.With(name: LocalizableStrings.CmdLoggerOption)
|
.With(name: LocalizableStrings.CmdLoggerOption)
|
||||||
.ForwardAsSingle(o =>
|
.ForwardAsSingle(o =>
|
||||||
{
|
{
|
||||||
var loggersString = string.Join(";", GetSemiColonEscapedArgs(o.Arguments));
|
var loggersString = string.Join(";", GetSemiColonEscapedArgs(o.Arguments));
|
||||||
|
|
||||||
return $"-property:VSTestLogger={loggersString}";
|
return $"-property:VSTestLogger=\"{loggersString}\"";
|
||||||
})),
|
})),
|
||||||
CommonOptions.ConfigurationOption(),
|
CommonOptions.ConfigurationOption(),
|
||||||
CommonOptions.FrameworkOption(),
|
CommonOptions.FrameworkOption(),
|
||||||
|
|
|
@ -86,7 +86,7 @@
|
||||||
|
|
||||||
<DotNetPublish ToolPath="$(PreviousStageDirectory)"
|
<DotNetPublish ToolPath="$(PreviousStageDirectory)"
|
||||||
Configuration="$(Configuration)"
|
Configuration="$(Configuration)"
|
||||||
ProjectPath="$(SrcDirectory)/tool_fsharp/tool_fsc.csproj" />
|
ProjectPath="$(SrcDirectory)/tool_fsharp/tool_fsc.csproj" MSBuildArgs="/p:PublishDir=$(FSharpDirectory)" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="GenerateCliRuntimeConfigurationFiles"
|
<Target Name="GenerateCliRuntimeConfigurationFiles"
|
||||||
|
|
|
@ -2,11 +2,8 @@
|
||||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.tasks))\dir.tasks" />
|
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.tasks))\dir.tasks" />
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<VersionPrefix>$(CliVersionPrefix)</VersionPrefix>
|
|
||||||
<TargetFramework>$(CliTargetFramework)</TargetFramework>
|
<TargetFramework>$(CliTargetFramework)</TargetFramework>
|
||||||
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
|
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
|
||||||
<PublishDir>$(FSharpDirectory)</PublishDir>
|
|
||||||
<VersionSuffix>$(CommitCount)</VersionSuffix>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -9,6 +9,7 @@ using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
using CommandLocalizableStrings = Microsoft.DotNet.Tools.Sln.LocalizableStrings;
|
||||||
|
|
||||||
namespace Microsoft.DotNet.Cli.Sln.List.Tests
|
namespace Microsoft.DotNet.Cli.Sln.List.Tests
|
||||||
{
|
{
|
||||||
|
@ -160,7 +161,7 @@ Commands:
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void WhenNoProjectReferencesArePresentInTheSolutionItPrintsANoProjectMessage()
|
public void WhenNoProjectsArePresentInTheSolutionItPrintsANoProjectMessage()
|
||||||
{
|
{
|
||||||
var projectDirectory = TestAssets
|
var projectDirectory = TestAssets
|
||||||
.Get("TestAppWithEmptySln")
|
.Get("TestAppWithEmptySln")
|
||||||
|
@ -177,11 +178,10 @@ Commands:
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void WhenProjectReferencesArePresentInTheSolutionItListsThem()
|
public void WhenProjectsPresentInTheSolutionItListsThem()
|
||||||
{
|
{
|
||||||
string OutputText = CommonLocalizableStrings.ProjectReferenceOneOrMore;
|
var expectedOutput = $@"{CommandLocalizableStrings.ProjectsHeader}
|
||||||
OutputText += $@"
|
{new string('-', CommandLocalizableStrings.ProjectsHeader.Length)}
|
||||||
{new string('-', OutputText.Length)}
|
|
||||||
{Path.Combine("App", "App.csproj")}
|
{Path.Combine("App", "App.csproj")}
|
||||||
{Path.Combine("Lib", "Lib.csproj")}";
|
{Path.Combine("Lib", "Lib.csproj")}";
|
||||||
|
|
||||||
|
@ -196,7 +196,7 @@ Commands:
|
||||||
.WithWorkingDirectory(projectDirectory)
|
.WithWorkingDirectory(projectDirectory)
|
||||||
.ExecuteWithCapturedOutput("sln list");
|
.ExecuteWithCapturedOutput("sln list");
|
||||||
cmd.Should().Pass();
|
cmd.Should().Pass();
|
||||||
cmd.StdOut.Should().BeVisuallyEquivalentTo(OutputText);
|
cmd.StdOut.Should().BeVisuallyEquivalentTo(expectedOutput);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,6 +131,39 @@ namespace Microsoft.DotNet.Cli.Test.Tests
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void ItAcceptsMultipleLoggersAsCliArguments()
|
||||||
|
{
|
||||||
|
// Copy and restore VSTestCore project in output directory of project dotnet-vstest.Tests
|
||||||
|
var testProjectDirectory = this.CopyAndRestoreVSTestDotNetCoreTestApp("10");
|
||||||
|
|
||||||
|
string trxLoggerDirectory = Path.Combine(testProjectDirectory, "RD");
|
||||||
|
|
||||||
|
// Delete trxLoggerDirectory if it exist
|
||||||
|
if (Directory.Exists(trxLoggerDirectory))
|
||||||
|
{
|
||||||
|
Directory.Delete(trxLoggerDirectory, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Call test with logger enable
|
||||||
|
CommandResult result = new DotnetTestCommand()
|
||||||
|
.WithWorkingDirectory(testProjectDirectory)
|
||||||
|
.ExecuteWithCapturedOutput("--logger \"trx;logfilename=custom.trx\" --logger console;verbosity=normal -- RunConfiguration.ResultsDirectory=" + trxLoggerDirectory);
|
||||||
|
|
||||||
|
// Verify
|
||||||
|
var trxFilePath = Path.Combine(trxLoggerDirectory, "custom.trx");
|
||||||
|
Assert.True(File.Exists(trxFilePath));
|
||||||
|
result.StdOut.Should().Contain(trxFilePath);
|
||||||
|
result.StdOut.Should().Contain("Passed VSTestPassTest");
|
||||||
|
result.StdOut.Should().Contain("Failed VSTestFailTest");
|
||||||
|
|
||||||
|
// Cleanup trxLoggerDirectory if it exist
|
||||||
|
if (Directory.Exists(trxLoggerDirectory))
|
||||||
|
{
|
||||||
|
Directory.Delete(trxLoggerDirectory, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void TestWillNotBuildTheProjectIfNoBuildArgsIsGiven()
|
public void TestWillNotBuildTheProjectIfNoBuildArgsIsGiven()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue