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); }
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); } }
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); } }
protected override string GenerateCommandLineCommands() { return($"{Mode} {ArgumentEscaper.EscapeSingleArg(File)}"); }