private ProcessArgumentBuilder GetArguments(IReadOnlyList <FilePath> assemblyPaths, XUnitSettings settings) { var builder = new ProcessArgumentBuilder(); // Add the assemblies to test. foreach (var assembly in assemblyPaths) { builder.AppendQuoted(assembly.MakeAbsolute(_environment).FullPath); } // No shadow copy? if (!settings.ShadowCopy) { builder.AppendQuoted("/noshadow"); } // Generate HTML report? if (settings.HtmlReport) { var reportFileName = XUnitRunnerUtilities.GetReportFileName(assemblyPaths); var assemblyFilename = reportFileName.AppendExtension(".html"); var outputPath = settings.OutputDirectory.MakeAbsolute(_environment).GetFilePath(assemblyFilename); builder.AppendQuoted("/html"); builder.AppendQuoted(outputPath.FullPath); } // Generate XML report? if (settings.XmlReport) { var reportFileName = XUnitRunnerUtilities.GetReportFileName(assemblyPaths); var assemblyFilename = reportFileName.AppendExtension(".xml"); var outputPath = settings.OutputDirectory.MakeAbsolute(_environment).GetFilePath(assemblyFilename); builder.AppendQuoted("/xml"); builder.AppendQuoted(outputPath.FullPath); } // Silent mode? if (settings.Silent) { builder.Append("/silent"); } return(builder); }
private ProcessArgumentBuilder GetArguments(IReadOnlyList <FilePath> assemblyPaths, XUnit2Settings settings) { var builder = new ProcessArgumentBuilder(); // Add the assemblies to test. foreach (var assembly in assemblyPaths) { builder.AppendQuoted(assembly.MakeAbsolute(_environment).FullPath); } // No shadow copy? if (!settings.ShadowCopy) { builder.Append("-noshadow"); } // No app domain? if (settings.NoAppDomain) { builder.Append("-noappdomain"); } // Generate NUnit Style XML report? if (settings.NUnitReport) { var reportFileName = XUnitRunnerUtilities.GetReportFileName(assemblyPaths, settings); var assemblyFilename = reportFileName.AppendExtension(".xml"); var outputPath = settings.OutputDirectory.MakeAbsolute(_environment).GetFilePath(assemblyFilename); builder.Append("-nunit"); builder.AppendQuoted(outputPath.FullPath); } // Generate JUnit Style XML report? if (settings.JUnitReport) { var reportFileName = XUnitRunnerUtilities.GetReportFileName(assemblyPaths, settings); var assemblyFilename = reportFileName.AppendExtension(".xml"); var outputPath = settings.OutputDirectory.MakeAbsolute(_environment).GetFilePath(assemblyFilename); builder.Append("-junit"); builder.AppendQuoted(outputPath.FullPath); } // Generate HTML report? if (settings.HtmlReport) { var reportFileName = XUnitRunnerUtilities.GetReportFileName(assemblyPaths, settings); var assemblyFilename = reportFileName.AppendExtension(".html"); var outputPath = settings.OutputDirectory.MakeAbsolute(_environment).GetFilePath(assemblyFilename); builder.Append("-html"); builder.AppendQuoted(outputPath.FullPath); } // Generate XML report? if (settings.XmlReport || settings.XmlReportV1) { var reportFileName = XUnitRunnerUtilities.GetReportFileName(assemblyPaths, settings); var assemblyFilename = reportFileName.AppendExtension(".xml"); var outputPath = settings.OutputDirectory.MakeAbsolute(_environment).GetFilePath(assemblyFilename); builder.Append(settings.XmlReportV1 ? "-xmlv1" : "-xml"); builder.AppendQuoted(outputPath.FullPath); } // parallelize test execution? if (settings.Parallelism.HasValue) { builder.Append("-parallel " + settings.Parallelism.ToString().ToLowerInvariant()); } // max thread count for collection parallelization if (settings.MaxThreads.HasValue) { if (settings.MaxThreads.Value == 0) { builder.Append("-maxthreads unlimited"); } else { builder.Append("-maxthreads " + settings.MaxThreads.Value); } } foreach (var trait in settings.TraitsToInclude .SelectMany(pair => pair.Value.Select(v => new { Name = pair.Key, Value = v }))) { builder.Append("-trait \"{0}={1}\"", trait.Name, trait.Value); } foreach (var trait in settings.TraitsToExclude .SelectMany(pair => pair.Value.Select(v => new { Name = pair.Key, Value = v }))) { builder.Append("-notrait \"{0}={1}\"", trait.Name, trait.Value); } foreach (var ns in settings.NamespacesToInclude) { builder.Append("-namespace \"{0}\"", ns); } foreach (var cn in settings.ClassesToInclude) { builder.Append("-class \"{0}\"", cn); } foreach (var mn in settings.MethodsToInclude) { builder.Append("-method \"{0}\"", mn); } return(builder); }