static IEnumerable <string> Assemblies(MSpecTestRunner.Run run) { return(run.RunInfos .Select(x => x.Assembly) .Distinct() .Select(x => "\"" + x + "\"")); }
static TestRunInfo FindRunInfo(MSpecTestRunner.Run run, Assembly assembly) { var runInfo = run.RunInfos .FirstOrDefault(x => StringComparer.Ordinal.Equals(x.Assembly, assembly.AssemblyLocation)); if (runInfo == null) { Debug.WriteError("Could not match reported assembly {0} to any of the tested assemblies", assembly.AssemblyLocation); } return(runInfo); }
public string Build(MSpecTestRunner.Run run) { return(new[] { TimeInfo(run), Filters(run), XmlReport(run), Assemblies(run) } .SelectMany(x => x) .Aggregate((acc, curr) => acc + " " + curr)); }
IEnumerable <string> Filters(MSpecTestRunner.Run run) { var filters = CreateFilterFile(run.RunInfos); if (filters == null) { yield break; } run.RegisterCleanup(() => { if (_fileSystem.FileExists(filters)) { File.Delete(filters); } }); yield return(String.Format("--filter \"{0}\"", filters)); }
IEnumerable <string> XmlReport(MSpecTestRunner.Run run) { var report = Path.GetTempFileName(); run.RegisterResultHarvester(() => { var parser = new MSpecReportParser(report, run); return(parser.Parse()); }); run.RegisterCleanup(() => { if (_fileSystem.FileExists(report)) { File.Delete(report); } }); yield return(String.Format("--xml \"{0}\"", report)); }
public MSpecReportParser(string reportFile, MSpecTestRunner.Run run) { _reportFile = reportFile; _run = run; }
IEnumerable <string> TimeInfo(MSpecTestRunner.Run run) { yield return(String.Format("--timeinfo")); }