Skip to content

Commit

Permalink
исправлена ошибка показа ошибок при отсутствии группировки по метадан…
Browse files Browse the repository at this point in the history
…ным, если Конфигуратор выдал, что ошибок не обнаружено.
  • Loading branch information
artbear committed May 1, 2020
1 parent ed304c1 commit c25ec07
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 11 deletions.
2 changes: 1 addition & 1 deletion features/ПроверкаСинтаксиса.feature
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@

# Тогда в лог-файле запуска продукта есть строка 'testsuite name="Синтаксическая проверка конфигурации"'

Сценарий: Синтаксическая проверка временной файловой базы с результатами в формате JUnit
Сценарий: Синтаксическая проверка временной файловой базы с результатами в формате JUnit без группировки
# Допустим я включаю отладку лога с именем "oscript.app.vanessa-runner"
Допустим Я очищаю параметры команды "oscript" в контексте

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@

Если СохранятьОтчетВФайл Тогда

Лог.Отладка("ЛогПроверкиИзКонфигуратора %1", ЛогПроверкиИзКонфигуратора);
Если НРег(СокрЛП(ЛогПроверкиИзКонфигуратора)) = "ошибок не обнаружено" Тогда
ЛогПроверкиИзКонфигуратора = "";
КонецЕсли;
Expand Down Expand Up @@ -211,25 +212,47 @@
РезультатТестирования.Вставить("КоличествоПропущено", 0);
РезультатТестирования.Вставить("КоличествоУпало", 0);

МассивСтрокИсключений = МассивСтрокИсключений();
ПропускаемыеОшибки = СодержимоеФайлаИсключенийОшибок(ИмяФайлаИсключенийОшибок);
ОбработанныйЛог = СтрЗаменить(ЛогПроверкиИзКонфигуратора, Символы.ВК + Символы.Таб, Символы.Таб);
ОбработанныйЛог = СтрЗаменить(ОбработанныйЛог, Символы.ПС + Символы.Таб, Символы.Таб);

Лог.Отладка("ОбработанныйЛог %1", ОбработанныйЛог);
ИмяТестСценарияПредыдущаяСтрока = "Синтаксическая проверка конфигурации";

ОставшиесяОшибки = ИзбавитьсяОтИсключений(ОбработанныйЛог, МассивСтрокИсключений);
ОбработанныйЛог = СтрСоединить(ОставшиесяОшибки, Символы.ПС);

Если НЕ ГруппироватьПоМетаданным Тогда
Лог.Отладка("Ветка НЕ ГруппироватьПоМетаданным");

Лог.Отладка("ОставшиесяОшибки %1", ОбработанныйЛог);
Если Не ПустаяСтрока(ОбработанныйЛог) Тогда

ОписаниеОшибкиТеста = ШаблонОписанияОшибки("Синтаксическая проверка конфигурации", ОбработанныйЛог);
ДополнитьРезультатТекстомОшибки(РезультатТестирования, ОписаниеОшибкиТеста);
КонецЕсли;
Возврат РезультатТестирования;

КонецЕсли;

// Определяем строки для исключения из ошибок
// См. стандарт "Обработчики событий модуля формы, подключаемые из кода"
// https://its.1c.ru/db/v8std#content:-2145783155:hdoc
РезультатТестирования.ВсеОшибки = ОбработанныйЛог;

Для Каждого ТекСтрока Из ОставшиесяОшибки Цикл

ОписаниеОшибки = ПолучитьОписаниеОшибки(ТекСтрока, ИмяТестСценарияПредыдущаяСтрока);
ДополнитьРезультатТекстомОшибки(РезультатТестирования, ОписаниеОшибки, ПропускаемыеОшибки, ТекСтрока);
КонецЦикла;
Возврат РезультатТестирования;

КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////

// Определяем строки для исключения из ошибок
// См. стандарт "Обработчики событий модуля формы, подключаемые из кода"
// https://its.1c.ru/db/v8std#content:-2145783155:hdoc
Функция МассивСтрокИсключений()
МассивСтрокИсключений = Новый Массив();
МассивСтрокИсключений.Добавить(Нрег("Не обнаружено ссылок на процедуру: ""Подключаемый_"));
МассивСтрокИсключений.Добавить(Нрег("Не обнаружено ссылок на функцию: ""Подключаемый_"));
Expand All @@ -243,6 +266,16 @@
МассивСтрокИсключений.Добавить(Нрег("No syntax errors found"));
МассивСтрокИсключений.Добавить(Нрег("No errors found"));

Возврат МассивСтрокИсключений;
КонецФункции

Функция ИзбавитьсяОтИсключений(Знач ОбработанныйЛог, МассивСтрокИсключений)

ОставшиесяОшибки = Новый Массив;
Если ПустаяСтрока(ОбработанныйЛог) Тогда
Возврат ОставшиесяОшибки;
КонецЕсли;

МассивСтрокОшибок = СтрРазделить(ОбработанныйЛог, Символы.ПС);
Для Ит = 0 По МассивСтрокОшибок.Количество() - 1 Цикл

Expand All @@ -260,17 +293,12 @@
Продолжить;
КонецЕсли;

РезультатТестирования.ВсеОшибки = РезультатТестирования.ВсеОшибки + ТекСтрока + Символы.ПС;

ОписаниеОшибки = ПолучитьОписаниеОшибки(ТекСтрока, ИмяТестСценарияПредыдущаяСтрока);
ДополнитьРезультатТекстомОшибки(РезультатТестирования, ОписаниеОшибки, ПропускаемыеОшибки, ТекСтрока);
ОставшиесяОшибки.Добавить(ТекСтрока);
КонецЦикла;
Возврат РезультатТестирования;

Возврат ОставшиесяОшибки;
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////

Функция СодержимоеФайлаИсключенийОшибок(Знач ИмяФайлаИсключенийОшибок)

Результат = Новый Массив;
Expand Down

0 comments on commit c25ec07

Please sign in to comment.