コード例 #1
0
        protected CommandResult TestExecutable(string outputDir,
                                               string executableName,
                                               string expectedOutput)
        {
            var executablePath = Path.Combine(outputDir, executableName);
            var args           = new List <string>();

            if (IsPortable(executablePath))
            {
                args.Add("exec");
                args.Add(ArgumentEscaper.EscapeSingleArg(executablePath));

                var muxer = new Muxer();
                executablePath = muxer.MuxerPath;
            }

            var executableCommand = new TestCommand(executablePath);

            var result = executableCommand.ExecuteWithCapturedOutput(string.Join(" ", args));

            if (!string.IsNullOrEmpty(expectedOutput))
            {
                result.Should().HaveStdOut(expectedOutput);
            }
            result.Should().NotHaveStdErr();
            result.Should().Pass();
            return(result);
        }
コード例 #2
0
        private void ResolveCommand(ref string executable, ref string args)
        {
            if (executable.EndsWith(".dll", StringComparison.OrdinalIgnoreCase))
            {
                var newArgs = ArgumentEscaper.EscapeSingleArg(executable);

                if (!string.IsNullOrEmpty(args))
                {
                    newArgs += " " + args;
                }

                args = newArgs;

                executable = RepoDirectoriesProvider.DotnetUnderTest;
            }
            else if (executable == "dotnet")
            {
                executable = RepoDirectoriesProvider.DotnetUnderTest;
            }
            else if (!Path.IsPathRooted(executable))
            {
                executable = Env.GetCommandPath(executable) ??
                             Env.GetCommandPathFromRootPath(_baseDirectory, executable);
            }
        }
コード例 #3
0
ファイル: TestCommand.cs プロジェクト: singhsarab/cli
        private void ResolveCommand(ref string executable, ref string args)
        {
            if (executable.EndsWith(".dll", StringComparison.OrdinalIgnoreCase))
            {
                var newArgs = ArgumentEscaper.EscapeSingleArg(executable);
                if (!string.IsNullOrEmpty(args))
                {
                    newArgs += " " + args;
                }
                args       = newArgs;
                executable = "dotnet";
            }

            if (!Path.IsPathRooted(executable))
            {
                executable = Env.GetCommandPath(executable) ??
                             Env.GetCommandPathFromRootPath(AppContext.BaseDirectory, executable);
            }
        }
コード例 #4
0
 protected override string GenerateCommandLineCommands()
 {
     return($"{Mode} {ArgumentEscaper.EscapeSingleArg(File)}");
 }