public static void PrintAllTestFailures()
{
var directories = GetBuildDirectories();
var tests = new HashSet<AggregateTestResult>();
var totalBuilds = 0;
var days = 1;
foreach (var dir in directories.Where(x=>Directory.GetCreationTime(x) > DateTime.Now.AddDays(-1 * days)))
{
totalBuilds++;
var files = Directory.GetFiles(dir, "junitResult.xml");
if (files.Any())
{
var fileName = files[0];
var iterator = GetTestCasesWithErrors(fileName);
while (iterator.MoveNext())
{
var failingTest = GetFailingTestName(iterator);
var testResult = GetTestResult(failingTest, tests);
UpdateResults(failingTest, dir, tests, testResult);
}
}
}
foreach (var failingTest in tests.ToList().OrderBy(x=>x.FailureCount).Reverse())
{
Console.WriteLine(failingTest);
}
Console.WriteLine("Tests performed during last: " + days + " days");
Console.WriteLine("Total Builds performed during test run: " + totalBuilds);
}