private UUTReport CreateReportFromHeader(Dictionary <string, string> headerData, TDM api) { UUTReport uut = api.CreateUUTReport(headerData["Cfg_UserName"], parameters["partNumber"], parameters["partRevision"], headerData["Cfg_SerialNumber"], parameters["operationTypeCode"], parameters["sequenceName"], parameters["sequenceVersion"]); uut.AddMiscUUTInfo("Cfg_LoginMode", headerData["Cfg_LoginMode"]); uut.AddMiscUUTInfo("Cfg_Speaker", headerData["Cfg_Speaker"]); return(uut); }
public Report ImportReport(TDM api, Stream file) { Dictionary <string, string> headerData = new Dictionary <string, string>(); using (TextReader reader = new StreamReader(file)) { string line = reader.ReadLine(); while (line != null) { if (line.Contains("=")) { string[] keyValue = line.Split(new char[] { '=' }); headerData.Add(keyValue[0], keyValue[1]); } line = reader.ReadLine(); } } UUTReport uut = CreateReportFromHeader(headerData, api); //2020-5-20-135-5-14-10-1-37-563-120-1.589E+09 Regex regex = new Regex(@"(?<Year>\d+)-(?<Month>\d+)-(?<WeekNo>-*\d+)-(?<JDay>-*\d+)-(?<WDay>\d+)-(?<Day>\d+)-(?<Hour>\d+)-(?<Minute>\d+)-(?<Second>\d+)-(?<MSec>\d+)-(?<UTCOffset>\d+)"); Match match = regex.Match(headerData["Cfg_DutStartTime"]); uut.StartDateTime = new DateTime( int.Parse(match.Groups["Year"].Value), int.Parse(match.Groups["Month"].Value), int.Parse(match.Groups["Day"].Value), int.Parse(match.Groups["Hour"].Value), int.Parse(match.Groups["Minute"].Value), int.Parse(match.Groups["Second"].Value), int.Parse(match.Groups["MSec"].Value) ); uut.StartDateTimeUTC = uut.StartDateTime.AddMinutes(-int.Parse(match.Groups["UTCOffset"].Value)); uut.AddMiscUUTInfo("FileName", api.ConversionSource.SourceFile.Name); string testDataFolderName = $"{api.ConversionSource.SourceFile.DirectoryName}\\{Path.GetFileNameWithoutExtension(api.ConversionSource.SourceFile.Name)}"; string[] dataFileNames = Directory.GetFiles(testDataFolderName, "*.txt"); foreach (string fileName in dataFileNames) { ReadDataFile(uut, fileName); } uut.Status = headerData["Ctrl_OverallVerdict"] == "1" ? UUTStatusType.Passed : UUTStatusType.Failed; //Code for overall verdict: -1: Void, no result 0: Fail, nok 1: Pass, ok 2: Warning 3: Noise 4: Invalid return(uut); }