public void LoadTests(string drtlist) { XmlDocument doc = new XmlDocument(); doc.Load(drtlist); XmlNodeList tests_xml = doc.SelectNodes("/DRTList/Test"); XmlNodeList nested_lists = doc.SelectNodes("/DRTList/NestedTests"); bool past_fixture_start = (fixture_start == null); string base_directory = Path.GetDirectoryName(drtlist); foreach (XmlNode test in tests_xml) { Test t = Test.Create(base_directory, test); if (t == null) { Console.Error.WriteLine("Unable to load test: {0}", test); continue; } if (!past_fixture_start) { if (t.Id == fixture_start) { past_fixture_start = true; } else { continue; } } if (categories != null && !t.IsInCategoryList(categories)) { continue; } if (exclude_categories != null && t.IsInCategoryList(exclude_categories)) { continue; } if (fixtures != null && !fixtures.Contains(t.Id)) { continue; } if (exclude_fixtures != null && exclude_fixtures.Contains(t.Id)) { continue; } if (t.Ignore) { ignored_tests.Add(t); continue; } tests.Add(t); } foreach (XmlNode node in nested_lists) { string inputFile = null; if (node.Attributes ["inputFile"] != null) { inputFile = node.Attributes ["inputFile"].Value; } if (inputFile == null) { continue; } if (inputFile == "MS_DRTLIST") { inputFile = Environment.GetEnvironmentVariable("MS_DRTLIST"); Console.WriteLine("Big hack to find MS' drtlist: '{0}'", inputFile); if (inputFile == null || inputFile == string.Empty) { continue; } } inputFile = GetDrtlistLocation(inputFile); LoadTests(inputFile); } }