コード例 #1
0
 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);
     });
 }
コード例 #2
0
 public void MsbuildInvocationIsCorrect(string[] args, string[] expectedArgs)
 {
     CommandDirectoryContext.PerformActionWithBasePath(WorkingDirectory, () =>
     {
         var command = RunCommand.FromArgs(args);
         command.RestoreArgs
         .Should()
         .BeEquivalentTo(expectedArgs);
     });
 }
コード例 #3
0
 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");
     });
 }
コード例 #4
0
 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");
     });
 }
コード例 #5
0
 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");
     });
 }
コード例 #6
0
        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}");
            });
        }
コード例 #7
0
 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");
     });
 }
コード例 #8
0
        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}");
            });
        }
コード例 #9
0
        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}");
            });
        }
コード例 #10
0
        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);
            });
        }
コード例 #11
0
        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}");
            });
        }
コード例 #12
0
 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");
     });
 }
コード例 #13
0
        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}");
            });
        }