public XmlCoverageWriter(TextWriter txtwtr, XmlParser parser) { _writer = txtwtr; _moduleId = 1; _depth = 0; WriteHeader(parser); }
public UnusedReport(TextWriter txtwtr, XmlParser parser) { _sourceFiles = new Dictionary<string, string[]>(StringComparer.OrdinalIgnoreCase); _writer = txtwtr; _moduleId = 1; _depth = 0; WriteHeader(parser); }
void WriteHeader(XmlParser parser, string title, string[] files) { _writer.WriteLine("<?xml version='1.0' encoding='utf-8'?>"); _writer.WriteLine("<?xml-stylesheet href='CoverageReport.xsl' type='text/xsl'?>"); WriteLine("<coverageReport reportTitle='{0}' date='{1}' time='{2}' version='{3}'>", title, parser.StartTime.ToString("D"), parser.StartTime.ToString("T"), parser.VersionInfo); WriteLine("<project name='{0}' files='{1}' classes='{2}' members='{3}' nonCommentLines='{4}' " + "sequencePoints='{5}' unvisitedPoints='{6}' unvisitedFunctions='{7}' coverage='{8}' " + "acceptable='{9}' functionCoverage='{10}' acceptableFunction='{11}' filteredBy='{12}' " + "sortedBy='{13}'>", title, parser.TotalFiles, parser.TotalClasses, parser.TotalMembers, parser.TotalLines, parser.TotalSeqpnts, parser.UnvisitedSeqpnts, parser.UnvisitedMembers, parser.SeqpntCoverage, ACCEPTABLE, parser.MemberCoverage, ACCEPTABLE, "None", "Name" ); WriteLine("<coverageFiles>"); foreach (string file in files) WriteLine("<coverageFile>{0}</coverageFile>", file); WriteLine("</coverageFiles>"); WriteLine("</project>"); }
private void WriteHeader(XmlParser parser) { MetricGroup methods = parser.ByMethod; _writer.WriteLine("<?xml version='1.0' encoding='utf-8'?>"); //_writer.WriteLine("<?xml-stylesheet href='coverage.xsl' type='text/xsl'?>"); WriteLine("<coverage profilerVersion='{0}' driverVersion='{1}' startTime='{2}' measureTime='{3}'>", parser.VersionInfo, parser.VersionDriver, XmlConvert.ToString(parser.StartTime, XmlDateTimeSerializationMode.RoundtripKind), XmlConvert.ToString( parser.StartTime, XmlDateTimeSerializationMode.RoundtripKind) ); }
public XmlReport(TextWriter txtwtr, XmlParser parser, string title, string[] files) { _writer = txtwtr; WriteHeader(parser, title, files); }
static int Main(string[] raw) { ArgumentList args = new ArgumentList(raw); using (Log.AppStart(Environment.CommandLine)) { if (args.Count == 0 || args.Unnamed.Count == 0 || args.Contains("?")) return DoHelp(); if (args.Contains("nologo") == false) { Console.WriteLine("CSharpTest.Net.CoverageReport.exe"); Console.WriteLine("Copyright 2009 by Roger Knapp, Licensed under the Apache License, Version 2.0"); Console.WriteLine(""); } try { List<string> filesFound = new List<string>(); FileList files = new FileList(); files.RecurseFolders = args.Contains("s"); files.Add(new List<string>(args.Unnamed).ToArray()); XmlParser parser = new XmlParser( args.SafeGet("exclude").Values ); foreach (System.IO.FileInfo file in files) { filesFound.Add(file.FullName); using(Log.Start("parsing file: {0}", file.FullName)) parser.Parse(file.FullName); } parser.Complete(); if (args.Contains("module")) { using (Log.Start("Creating module report.")) using (XmlReport rpt = new XmlReport(OpenText(args["module"]), parser, "Module Summary", filesFound.ToArray())) new MetricReport(parser.ByModule).Write(rpt); } if (args.Contains("namespace")) { using (Log.Start("Creating namespace report.")) using (XmlReport rpt = new XmlReport(OpenText(args["namespace"]), parser, "Namespace Summary", filesFound.ToArray())) new MetricReport(parser.ByNamespace).Write(rpt); } if (args.Contains("class")) { using (Log.Start("Creating class report.")) using (XmlReport rpt = new XmlReport(OpenText(args["class"]), parser, "Module Class Summary", filesFound.ToArray())) new MetricReport(parser.ByModule, parser.ByNamespace, parser.ByClass).Write(rpt); } if (args.Contains("unused")) { using (Log.Start("Creating unused statement report.")) using (UnusedReport rpt = new UnusedReport(OpenText(args["unused"]), parser)) new MetricReport(parser.ByModule, parser.ByMethod).Write(rpt); } if (args.Contains("combine")) { using (Log.Start("Creating combined coverage file.")) using (XmlCoverageWriter wtr = new XmlCoverageWriter(OpenText(args["combine"]), parser)) new MetricReport(parser.ByModule, parser.ByMethod).Write(wtr); } //foreach (ModuleInfo mi in parser) // Console.WriteLine("{0} hit {1} of {2} for {3}", mi.Name, mi.VisitedPoints, mi.SequencePoints, mi.CoveragePercent); } catch (Exception e) { Log.Error(e); Console.Error.WriteLine(); Console.Error.WriteLine("Exception: {0}", e.Message); Console.Error.WriteLine(); Environment.ExitCode = -1; } } if (args.Contains("wait")) { Console.WriteLine("Press [Enter] to continue..."); Console.ReadLine(); } return Environment.ExitCode; }