Skip to content

Commit

Permalink
Merge pull request vanessa-opensource#367 from vanessa-opensource/tdd…
Browse files Browse the repository at this point in the history
…-testclient-add

Дополнительные параметры запуска тест-клиента (tdd и дымовые)
  • Loading branch information
artbear authored May 24, 2020
2 parents b02c40d + 2f89d4f commit 1da8be8
Show file tree
Hide file tree
Showing 4 changed files with 503 additions and 64 deletions.
11 changes: 10 additions & 1 deletion src/main.os
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,16 @@

Исключение

Лог.КритичнаяОшибка(ОписаниеОшибки());
ИнфоОшибки = ИнформацияОбОшибке();
Если ЗначениеЗаполнено(ИнфоОшибки.Параметры) Тогда
Если ЗначениеЗаполнено(ИнфоОшибки.Параметры.Предупреждение) Тогда
Лог.Предупреждение(ИнфоОшибки.Параметры.Предупреждение);
КонецЕсли;
Лог.Ошибка(ИнфоОшибки.Описание);
Иначе
Лог.КритичнаяОшибка(ОписаниеОшибки());
КонецЕсли;

ВременныеФайлы.Удалить();

ЗавершитьРаботу(МенеджерКомандПриложения.РезультатыКоманд().ОшибкаВремениВыполнения);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,10 @@
" Пример 2: --testclient ::1538 (клиент тестирования будет запущен с реквизитами менеджера тестирования)";
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--testclient", ОписаниеТестКлиент);

ОписаниеДопПараметровТестКлиент = "Дополнительные параметры, передаваемые приложению 1С при запуске тест-клиента";
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--testclient-additional",
ОписаниеДопПараметровТестКлиент);

Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды,
"--reportxunit", "путь к каталогу с отчетом jUnit (устарел)");

Expand Down Expand Up @@ -128,6 +132,10 @@
ДанныеПодключения.КодЯзыка, ДанныеПодключения.КодЯзыкаСеанса
);

НастройкиТестКлиента = Новый Структура;
НастройкиТестКлиента.Вставить("Подключение", ПараметрыКоманды["--testclient"]);
НастройкиТестКлиента.Вставить("ДопПараметры", ПараметрыКоманды["--testclient-additional"]);

Попытка
ЗапуститьТестироватьЮнит(
ОбщиеМетоды.ПолныйПуть(ПараметрыКоманды["testsPath"]),
Expand All @@ -139,7 +147,7 @@
ОжидатьЗавершения,
ПараметрыКоманды["--additional"],
ПараметрыКоманды["--config-tests"],
ПараметрыКоманды["--testclient"],
НастройкиТестКлиента,
ПараметрыКоманды["--xdddebug"],
Не ПараметрыКоманды["--no-shutdown"]
);
Expand All @@ -165,7 +173,7 @@
// ТолстыйКлиент - Булево, Неопределено - признак запуска толстого клиента
// ДопПараметры - <Строка> - дополнительные параметры для передачи в параметры запуска 1с, например /DebugURLtcp://localhost
// ЗагружатьВстроенныеТесты - <Булево> - Загружать тесты, встроенные в конфигурацию
// ТестКлиент - <Строка> - Параметры подключения к тест-клиенту
// НастройкиТестКлиента - <Структура> - Параметры подключения к тест-клиенту
// ВключенаОтладкаТестирования - Булево -
// Завершать1СПослеТестирования - Булево -
//
Expand All @@ -178,7 +186,7 @@
Знач ОжидатьЗавершения,
Знач ДопПараметры,
Знач ЗагружатьВстроенныеТесты,
Знач ТестКлиент,
Знач НастройкиТестКлиента,
Знач ВключенаОтладкаТестирования,
Знач Завершать1СПослеТестирования)

Expand Down Expand Up @@ -206,11 +214,18 @@
КлючЗапуска = """xddRun ЗагрузчикИзПодсистемКонфигурации """"" + ПутьВходящихДанных + """"";";
КонецЕсли;

ТестКлиент = НастройкиТестКлиента.Подключение;
Если Не ПустаяСтрока(ТестКлиент) Тогда
КлючЗапуска = КлючЗапуска +
СтрШаблон(" xddTestClient """"%1"""" ; ", ТестКлиент);
КонецЕсли;

ДопПараметрыТестКлиента = НастройкиТестКлиента.ДопПараметры;
Если Не ПустаяСтрока(ДопПараметрыТестКлиента) Тогда
КлючЗапуска = КлючЗапуска +
СтрШаблон(" xddTestClientAdditional """"%1"""" ; ", ДопПараметрыТестКлиента);
КонецЕсли;

Для каждого ПараметрыОтчета Из ФормируемыеОтчеты Цикл
Генератор = СтрЗаменить(ПараметрыОтчета.Ключ, "GenerateReport", "ГенераторОтчета");
КлючЗапуска = КлючЗапуска + "xddReport " + Генератор + " """"" + ПараметрыОтчета.Значение + """"";";
Expand Down
42 changes: 25 additions & 17 deletions src/Классы/МенеджерКонфигуратора.os
Original file line number Diff line number Diff line change
Expand Up @@ -271,27 +271,35 @@
ТолстыйКлиент, ДополнительныеКлючиЗапуска, Ложь, ДопСообщения);
КонецЕсли;

Если ЗначениеЗаполнено(ПутьКФайлуСтатусаВыполнения) Тогда
Результат = СокрЛП(ОбщиеМетоды.ПрочитатьФайлИнформации(ПутьКФайлуСтатусаВыполнения));
Лог.Отладка("Код возврата %1", Результат);
Если Результат = "0" Тогда
Лог.Информация(ДопСообщения.СообщениеВСлучаеУспеха);
ИначеЕсли Результат = "1" Тогда
Лог.Ошибка(ДопСообщения.СообщениеВСлучаеПадения);
ВызватьИсключение "
|Vanessa-ADD или 1С:Предприятие вернуло код возврата 1";
ИначеЕсли Результат = "2" Тогда
Лог.Предупреждение(ДопСообщения.СообщениеВСлучаеПропуска);
Иначе
ВызватьИсключение СтрШаблон("Получен неожиданный/неверный результат работы - %1
|Возможна, работа 1С:Предприятие завершилась некорректно.", Результат);
КонецЕсли;
КонецЕсли;

Исключение
Лог.Ошибка("Причина ошибки:" + ИнформацияОбОшибке().Описание);
ВызватьИсключение;
КонецПопытки;

Если ЗначениеЗаполнено(ПутьКФайлуСтатусаВыполнения) Тогда
Результат = СокрЛП(ОбщиеМетоды.ПрочитатьФайлИнформации(ПутьКФайлуСтатусаВыполнения));
Лог.Отладка("Код возврата %1", Результат);
Если Результат = "0" Тогда
Лог.Информация(ДопСообщения.СообщениеВСлучаеУспеха);
ИначеЕсли Результат = "1" Тогда
ДанныеОшибки = Новый Структура;
ДанныеОшибки.Вставить("Предупреждение", "
|Vanessa-ADD или 1С:Предприятие вернуло код возврата 1
|");
ВызватьИсключение Новый ИнформацияОбОшибке(ДопСообщения.СообщениеВСлучаеПадения, ДанныеОшибки);

ИначеЕсли Результат = "2" Тогда
Лог.Предупреждение(ДопСообщения.СообщениеВСлучаеПропуска);
Иначе
ТекстОшибки = СтрШаблон("Получен неожиданный/неверный результат работы - %1
|Возможна, работа 1С:Предприятие завершилась некорректно. Например, указана неверная версия платформы.
|Или возникла ошибка при запуске. Проверьте журнал регистрации в ИБ.", Результат);
ДанныеОшибки = Новый Структура;
ДанныеОшибки.Вставить("Предупреждение", "");
ВызватьИсключение Новый ИнформацияОбОшибке(ТекстОшибки, ДанныеОшибки);
КонецЕсли;
КонецЕсли;

КонецПроцедуры

// Выполнить команду/действие в режиме 1С:Предприятия
Expand Down
Loading

0 comments on commit 1da8be8

Please sign in to comment.