public void OSOptionCannotBeCombinedWithRuntime() { CommandDirectoryContext.PerformActionWithBasePath(WorkingDirectory, () => { var msbuildPath = "<msbuildpath>"; var exceptionThrown = Assert.Throws <GracefulException>(() => BuildCommand.FromArgs(new string[] { "--os", "os", "--runtime", "rid" }, msbuildPath)); exceptionThrown.Message.Should().Be(CommonLocalizableStrings.CannotSpecifyBothRuntimeAndOsOptions); }); }
public void MsbuildInvocationIsCorrect(string[] args, string[] expectedArgs) { CommandDirectoryContext.PerformActionWithBasePath(WorkingDirectory, () => { var command = RunCommand.FromArgs(args); command.RestoreArgs .Should() .BeEquivalentTo(expectedArgs); }); }
public void OptionsRespectUserSpecifiedSelfContained() { CommandDirectoryContext.PerformActionWithBasePath(WorkingDirectory, () => { var msbuildPath = "<msbuildpath>"; var command = BuildCommand.FromArgs(new string[] { "--arch", "arch", "--os", "os", "--self-contained" }, msbuildPath); command.GetArgumentsToMSBuild() .Should() .StartWith($"{ExpectedPrefix} -restore -consoleloggerparameters:Summary -property:SelfContained=True -property:_CommandLineDefinedSelfContained=true -property:RuntimeIdentifier=os-arch"); }); }
public void OSAndArchOptionsCanBeCombined() { CommandDirectoryContext.PerformActionWithBasePath(WorkingDirectory, () => { var msbuildPath = "<msbuildpath>"; var command = BuildCommand.FromArgs(new string[] { "--arch", "arch", "--os", "os" }, msbuildPath); command.GetArgumentsToMSBuild() .Should() .StartWith($"{ExpectedPrefix} -restore -consoleloggerparameters:Summary -property:RuntimeIdentifier=os-arch -property:SelfContained=false"); }); }
public void OsOptionIsCorrectlyResolved() { CommandDirectoryContext.PerformActionWithBasePath(WorkingDirectory, () => { var msbuildPath = "<msbuildpath>"; var command = BuildCommand.FromArgs(new string[] { "--os", "os" }, msbuildPath); var expectedArch = RuntimeInformation.ProcessArchitecture.Equals(Architecture.Arm64) ? "arm64" : Environment.Is64BitOperatingSystem ? "x64" : "x86"; command.GetArgumentsToMSBuild() .Should() .StartWith($"{ExpectedPrefix} -restore -consoleloggerparameters:Summary -property:RuntimeIdentifier=os-{expectedArch} -property:SelfContained=false"); }); }
public void MsbuildInvocationIsCorrect(string[] args, string expectedAdditionalArgs) { CommandDirectoryContext.PerformActionWithBasePath(WorkingDirectory, () => { expectedAdditionalArgs = (string.IsNullOrEmpty(expectedAdditionalArgs) ? "" : $" {expectedAdditionalArgs}") .Replace("<cwd>", WorkingDirectory); var msbuildPath = "<msbuildpath>"; CleanCommand.FromArgs(args, msbuildPath) .GetProcessStartInfo().Arguments.Should().Be($"{ExpectedPrefix}{expectedAdditionalArgs}"); }); }
public void ItDoesNotUseImplicitRidWhenOneIsSpecifiedForSelfContained() { CommandDirectoryContext.PerformActionWithBasePath(WorkingDirectory, () => { var msbuildPath = "<msbuildpath>"; var currentRid = CommonOptions.GetCurrentRuntimeId(); var command = BuildCommand.FromArgs(new string[] { "--self-contained", "--runtime", "fake-rid" }, msbuildPath); command.GetArgumentsToMSBuild() .Should() .StartWith($"{ExpectedPrefix} -restore -consoleloggerparameters:Summary " + $"-property:RuntimeIdentifier=fake-rid -property:_CommandLineDefinedRuntimeIdentifier=true " + $"-property:SelfContained=True -property:_CommandLineDefinedSelfContained=true"); }); }
public void MsbuildInvocationIsCorrect(string[] args, string expectedAdditionalArgs) { CommandDirectoryContext.PerformActionWithBasePath(WorkingDirectory, () => { args = ArgsPrefix.Concat(args).ToArray(); expectedAdditionalArgs = (string.IsNullOrEmpty(expectedAdditionalArgs) ? "" : $" {expectedAdditionalArgs}") .Replace("<cwd>", WorkingDirectory); var msbuildPath = "<msbuildpath>"; StoreCommand.FromArgs(args, msbuildPath) .GetArgumentsToMSBuild().Should().Be($"{ExpectedPrefix}{expectedAdditionalArgs}"); }); }
public void MsbuildInvocationIsCorrect(string[] args, string expectedAdditionalArgs) { CommandDirectoryContext.PerformActionWithBasePath(WorkingDirectory, () => { expectedAdditionalArgs = (string.IsNullOrEmpty(expectedAdditionalArgs) ? "" : $" {expectedAdditionalArgs}") .Replace("<cwd>", WorkingDirectory); var msbuildPath = "<msbuildpath>"; var command = PackCommand.FromArgs(args, msbuildPath); var expectedPrefix = args.FirstOrDefault() == "--no-build" ? ExpectedNoBuildPrefix : ExpectedPrefix; command.SeparateRestoreCommand.Should().BeNull(); command.GetProcessStartInfo().Arguments.Should().Be($"{expectedPrefix}{expectedAdditionalArgs}"); }); }
public void OptionForwardingIsCorrect(string[] args, string expectedAdditionalArgs) { CommandDirectoryContext.PerformActionWithBasePath(WorkingDirectory, () => { var expectedArgs = expectedAdditionalArgs .Replace("<cwd>", WorkingDirectory) .Split(' ', StringSplitOptions.RemoveEmptyEntries); var parser = Parser.Instance; var result = parser.ParseFrom("dotnet publish", args); result["dotnet"]["publish"] .OptionValuesToBeForwarded() .Should() .BeEquivalentTo(expectedArgs); }); }
public void MsbuildInvocationIsCorrect(string[] args, string expectedAdditionalArgs) { CommandDirectoryContext.PerformActionWithBasePath(WorkingDirectory, () => { expectedAdditionalArgs = (string.IsNullOrEmpty(expectedAdditionalArgs) ? "" : $" {expectedAdditionalArgs}") .Replace("<cwd>", WorkingDirectory); var msbuildPath = "<msbuildpath>"; var command = BuildCommand.FromArgs(args, msbuildPath); command.SeparateRestoreCommand.Should().BeNull(); command.GetArgumentsToMSBuild() .Should() .Be($"{ExpectedPrefix} -restore -consoleloggerparameters:Summary{expectedAdditionalArgs}"); }); }
public void ArchOptionIsCorrectlyResolved() { CommandDirectoryContext.PerformActionWithBasePath(WorkingDirectory, () => { var msbuildPath = "<msbuildpath>"; var command = BuildCommand.FromArgs(new string[] { "--arch", "arch" }, msbuildPath); var expectedOs = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "win" : RuntimeInformation.IsOSPlatform(OSPlatform.Linux) ? "linux" : RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ? "osx" : null; if (expectedOs == null) { // Not a supported OS for running test return; } command.GetArgumentsToMSBuild() .Should() .StartWith($"{ExpectedPrefix} -restore -consoleloggerparameters:Summary -property:RuntimeIdentifier={expectedOs}-arch -property:SelfContained=false"); }); }
public void MsbuildInvocationIsCorrectForSeparateRestore( string[] args, string expectedAdditionalArgsForRestore, string expectedAdditionalArgs) { CommandDirectoryContext.PerformActionWithBasePath(WorkingDirectory, () => { expectedAdditionalArgsForRestore = expectedAdditionalArgsForRestore.Replace("<cwd>", WorkingDirectory); expectedAdditionalArgs = (string.IsNullOrEmpty(expectedAdditionalArgs) ? "" : $" {expectedAdditionalArgs}"); expectedAdditionalArgs = expectedAdditionalArgs.Replace("<cwd>", WorkingDirectory); var msbuildPath = "<msbuildpath>"; var command = BuildCommand.FromArgs(args, msbuildPath); command.SeparateRestoreCommand.GetProcessStartInfo() .Arguments.Should() .Be($"{ExpectedPrefix} {expectedAdditionalArgsForRestore}"); command.GetProcessStartInfo() .Arguments.Should() .Be($"{ExpectedPrefix} -nologo -consoleloggerparameters:Summary{expectedAdditionalArgs}"); }); }