bool CheckTestsPass(string str) { string funcName = $"<{nameof(CheckTestsPass)}>"; if (PublicData.IDDataTV == null) { return(FailCmd("Нет записанных данных в память программы")); } if (!Directory.Exists(PublicData.LogsCheckPassPath)) { return(FailCmd("Не доступна папка логов тестов.")); } //PublicData.IDDataTV = "13test"; string file = "ps" + PublicData.IDDataTV + ".txt"; string path = Path.Combine(PublicData.LogsCheckPassPath, file); try { string name = funcReadBetween(str, "[", "]"); var keysWhatToFind = section.IniFile.GetSection(name).Keys; if (!File.Exists(path)) { string msg = $"Файл не найден \"{path}\""; CheckTestsPass_CopyWithError(file, path, msg); return(FailCmd(funcName + msg)); } var iniWhereToFind = new IniFile(path); foreach (IniFileList.IniSectionList.IniKey keyToFind in keysWhatToFind) { string pass = iniWhereToFind.GetKeyValue(PublicData.IDDataTV.Txt, keyToFind.Name); //.Trim().ToLower(); pass = pass?.ToLower(); //.Trim(); if (pass != "ok") { Ex.Try((Action)(() => { logger.Trace($"1) pass != 'ok' = {pass?.ToString() ?? "null"}"); logger.Trace($"start search at inBuiltTests"); var funcToFind = Form1.InBuiltTests[keyToFind.Name]; var keysWhereToFind = iniWhereToFind.GetSection(PublicData.IDDataTV.Txt).Keys; foreach (IniFile.IniSection.IniKey logkey in keysWhereToFind) { bool found = false; Ex.Try(() => { if (funcToFind == Form1.InBuiltTests[logkey.Name]) { pass = logkey.Value.ToLower(); found = true; } }); if (found) { break; } } })); if (pass != "ok") { logger.Trace($"2) pass != 'ok' = {pass?.ToString() ?? "null"}"); logger.Trace($"after inBuiltTests search"); string msg1 = ""; string display = ""; if (Form1.InBuiltTests.ContainsKey(keyToFind.Name)) { display = Form1.InBuiltTests[keyToFind.Name].DisplayName; } if (Form1.CreatedDisplays.ContainsKey(keyToFind.Name)) { display = Form1.CreatedDisplays[keyToFind.Name]; } msg1 = (pass == null) ? $"\"{display}\" not found!{Environment.NewLine}<{keyToFind.Name}>" : $"\"{display}\" = Fail.{Environment.NewLine}<{keyToFind.Name}>"; logger.Trace(msg1); CheckTestsPass_CopyWithError(file, path, msg1); return(FailCmd(funcName + msg1)); } } } return(OkCmd(funcName)); } catch (Exception ex) { return(FailCmd(ex, funcName)); } finally { Ex.Try(() => File.Delete(path)); PublicData.IDDataTV = null; } }