示例#1
0
        private void SetPreviousResultData(Test test, TestCompareData data)
        {
            foreach (string run_dir in run_directories)
            {
                string run_file = Path.Combine(run_dir, XmlReport.TestRunFileName);

                if (!File.Exists(run_file))
                {
                    continue;
                }

                XPathDocument     doc      = new XPathDocument(run_file);
                XPathNavigator    nav      = doc.CreateNavigator();
                XPathExpression   expr     = nav.Compile(String.Format("/TestRun/Test[@InputFile='{0}']", test.InputFile));
                XPathNodeIterator iterator = nav.Select(expr);

                if (!iterator.MoveNext())
                {
                    continue;
                }

                data.PreviousResult     = (TestResult)Enum.Parse(typeof(TestResult), iterator.Current.GetAttribute("TestResult", String.Empty));
                data.PreviousResultFile = iterator.Current.GetAttribute("ResultFile", String.Empty);
                data.PreviousResultRun  = run_dir;
                break;
            }
        }
示例#2
0
        private string GetCurrentResultFile(TestCompareData tcd)
        {
            string dir = Path.Combine(XmlReport.TestRunDirectoryName, tcd.CurrentRunTime.ToString("yyyy-MM-dd-hh-mm"));

            try {
                return(Path.Combine(dir, Path.GetFileName(tcd.CurrentResultFile)));
            } catch {
                return("");
            }
        }
示例#3
0
        public void AddResult(Test test, TestResult result)
        {
            TestCompareData tcd = new TestCompareData();

            tcd.InputFile         = test.InputFile;
            tcd.CurrentRunTime    = this_run.StartTime;
            tcd.CurrentResult     = result;
            tcd.CurrentResultFile = test.ResultFile;

            try {
                SetPreviousResultData(test, tcd);
                compare_data.Add(tcd);
            } catch (Exception ex) {
                Console.WriteLine("ComparisonReport: unexpected exception (ignored):");
                Console.WriteLine(ex);
            }
        }
示例#4
0
		public void AddResult (Test test, TestResult result)
		{
			TestCompareData tcd = new TestCompareData ();
			tcd.InputFile = test.InputFile;
			tcd.CurrentRunTime = this_run.StartTime;
			tcd.CurrentResult = result;
			tcd.CurrentResultFile = test.ResultFile;

			try {
				SetPreviousResultData (test, tcd);
				compare_data.Add (tcd);
			} catch (Exception ex) {
				Console.WriteLine ("ComparisonReport: unexpected exception (ignored):");
				Console.WriteLine (ex);
			}
		}
示例#5
0
		private string GetCurrentResultFile (TestCompareData tcd)
		{
			string dir = Path.Combine (XmlReport.TestRunDirectoryName, tcd.CurrentRunTime.ToString ("yyyy-MM-dd-hh-mm"));

			try {
				return Path.Combine (dir, Path.GetFileName (tcd.CurrentResultFile));
			} catch {
				return "";
			}
		}
示例#6
0
		private void SetPreviousResultData (Test test, TestCompareData data)
		{
			foreach (string run_dir in run_directories) {
				string run_file = Path.Combine (run_dir, XmlReport.TestRunFileName);

				if (!File.Exists (run_file))
					continue;

				XPathDocument doc = new XPathDocument (run_file);
				XPathNavigator nav = doc.CreateNavigator ();
				XPathExpression expr = nav.Compile (String.Format ("/TestRun/Test[@InputFile='{0}']", test.InputFile));
				XPathNodeIterator iterator = nav.Select (expr);

				if (!iterator.MoveNext ())
					continue;

				data.PreviousResult = (TestResult) Enum.Parse (typeof (TestResult), iterator.Current.GetAttribute ("TestResult", String.Empty));
				data.PreviousResultFile = iterator.Current.GetAttribute ("ResultFile", String.Empty);
				data.PreviousResultRun = run_dir;
				break;
			}
		}