Skip to content

Commit

Permalink
Merge branch 'release/0.11.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
artbear committed Jun 23, 2017
2 parents f04dc59 + 7b687a9 commit 19aee8f
Show file tree
Hide file tree
Showing 22 changed files with 346 additions and 160 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ coverage/stat\.json
bdd-exec\.xml

*.epf

coverage/
5 changes: 5 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@ node("qanode") {
cmd("where v8unpack")
cmd("v8unpack -version")
}

echo "Установка свежих версий зависимостей библиотек oscript"
timestamps {
cmd("opm install")
}
}

stage('BDD тестирование'){
Expand Down
27 changes: 27 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,3 +140,30 @@ runner help
"ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/build/out/vbOnline.log"
}
```

Вывод отладочной информации
===

Управление выводом логов выполняется с помощью типовой для oscript-library настройки логирования через пакет logos.

Основной лог vanessa-runner имеет название ``oscript.app.vanessa-runner``.

## Примеры

Включение всех отладочных логов:

```bat
rem только для logos версии >=0.6
set LOGOS_CONFIG=logger.rootLogger=DEBUG
call vrunner <параметры запуска>
```

Если пишет, что неправильные параметры командной строки:

```bat
set LOGOS_CONFIG=logger.oscript.lib.cmdline=DEBUG
call vrunner <параметры запуска>
```

Включит отладочный лог только для библиотеки cmdline, которая анализирует параметры командной строки.
4 changes: 2 additions & 2 deletions features/opm-build.feature
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
Когда я устанавливаю пакет из файла собранного пакета
Тогда файл "src\main.os" существует
Тогда я выполняю команду получения версии установленного пакета "oscript src\main.os version"
и версия установленного пакета равна версии пакета из контекста
И версия установленного пакета равна версии пакета из контекста
Тогда файл "src\main.os" существует
Тогда я выполняю команду получения версии установленного пакета "oscript tools\runner.os version"
и версия установленного пакета равна версии пакета из контекста
И версия установленного пакета равна версии пакета из контекста
11 changes: 10 additions & 1 deletion features/step_definitions/opm-build.os
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
УстановленнаяВерсияПакета = "";
КодВозврата = ВыполнитьКоманду(СтрокаЗапуска, УстановленнаяВерсияПакета);
Ожидаем.Что(КодВозврата, "Должны были получить код возврата 0, а это не так").Равно(0);
УстановленнаяВерсияПакета = СокрЛП(УстановленнаяВерсияПакета);
БДД.СохранитьВКонтекст("УстановленнаяВерсияПакета", УстановленнаяВерсияПакета);

КонецПроцедуры
Expand All @@ -66,8 +67,16 @@
УстановленнаяВерсияПакета = БДД.ПолучитьИзКонтекста("УстановленнаяВерсияПакета");
ВерсияСобранногоПакета = БДД.ПолучитьИзКонтекста("ВерсияСобранногоПакета");

ВерсияСобранногоПакета = СокрЛП(ВерсияСобранногоПакета);

СообщениеОшибки = СтрШаблон("Ожидали, что установленная версия <%1> равна версии из исходников проекта");
Ожидаем.Что(УстановленнаяВерсияПакета, СообщениеОшибки).Равно(ВерсияСобранногоПакета);
Если УстановленнаяВерсияПакета <> ВерсияСобранногоПакета И
Найти(УстановленнаяВерсияПакета, ВерсияСобранногоПакета) = Неопределено Тогда

ВызватьИсключение СообщениеОшибки;

КонецЕсли;
// Ожидаем.Что(УстановленнаяВерсияПакета, СообщениеОшибки).Равно(ВерсияСобранногоПакета);
КонецПроцедуры

Функция ВыполнитьКоманду(Знач СтрокаКоманды, ТекстВывода = "")
Expand Down
19 changes: 12 additions & 7 deletions packagedef
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@

Описание.Имя("vanessa-runner")
.Версия(ПараметрыСистемы_ЛокальнаяВерсия.ВерсияПродукта())
.ВерсияСреды("1.0.16")
.ЗависитОт("logos", "0.5")
.ВерсияСреды("1.0.17")
.ЗависитОт("logos", "0.6")
.ЗависитОт("cmdline", "0.6.0")
.ЗависитОт("tempfiles", "0.2.1")
.ЗависитОт("asserts", "0.3.1")
.ЗависитОт("v8runner", "0.8.0")
.ЗависитОт("v8runner", "0.11.0")
.ЗависитОт("strings", "0.4.1")
.ЗависитОт("json", "0.2.1")
.ЗависитОт("1commands", "1.1.1")
.ЗависитОт("1bdd", "1.4")
.ЗависитОт("1commands", "1.2.0")
.ЗависитОт("1bdd", "1.5.1")
.ЗависитОт("fs", "0.4.1")
.ВключитьФайл("tools")
.ВключитьФайл("src")
Expand All @@ -33,5 +33,10 @@

Команда = Новый Команда;
Команда.УстановитьПравильныйКодВозврата(0);
Команда.УстановитьСтрокуЗапуска("oscript tools\runner.os compileepf ./epf ./epf");
Команда.Исполнить();
Команда.ПоказыватьВыводНемедленно(Истина);
Команда.УстановитьСтрокуЗапуска("oscript tools\runner.os compileepf epf epf");
КодВозврата = Команда.Исполнить();
// Сообщить("Вывод команды " + Команда.ПолучитьВывод());
// Если КодВозврата <> 0 Тогда
// ВызватьИсключение "Код возврата не равен 0, а равен " + КодВозврата + Команда.ПолучитьВывод();
// КонецЕсли;
40 changes: 8 additions & 32 deletions src/main.os
Original file line number Diff line number Diff line change
Expand Up @@ -41,48 +41,21 @@
КонецФункции

Процедура ИнициализироватьЛоги(Знач КаталогЛогов)

УровеньЛога = Лог.Уровень(); // учитываю возможность внешней настройки лога

СИ = Новый СистемнаяИнформация;
РежимРаботы = СИ.ПолучитьПеременнуюСреды("RUNNER_ENV");

РежимРаботы = ПолучитьПеременнуюСреды("RUNNER_ENV");
Если ЗначениеЗаполнено(РежимРаботы) И НРег(РежимРаботы) = "debug" Тогда
УровеньЛога = УровниЛога.Отладка;
Лог.УстановитьУровень(УровеньЛога);
КонецЕсли;

Лог.Закрыть(); // для исключения двойного вывода сообщений, например, в случае повторного вызова команд
Если УровеньЛога = УровниЛога.Отладка Тогда
Аппендер = Новый ВыводЛогаВФайл();
ИмяВременногоФайла = ОбщиеМетоды.ПолучитьИмяВременногоФайлаВКаталоге(КаталогЛогов, СтрШаблон("%1.log", ПараметрыСистемы.ИмяПродукта()));
Аппендер.ОткрытьФайл(ИмяВременногоФайла);
Лог.ДобавитьСпособВывода(Аппендер);
КонецЕсли;

Лог.УстановитьРаскладку(ЭтотОбъект);

ВыводПоУмолчанию = Новый ВыводЛогаВКонсоль();
Лог.ДобавитьСпособВывода(ВыводПоУмолчанию);

Лог_cmdline = Логирование.ПолучитьЛог("oscript.lib.cmdline");
Лог_v8runner = Логирование.ПолучитьЛог("oscript.lib.v8runner");

ВыводПоУмолчанию = Новый ВыводЛогаВКонсоль();
Лог_cmdline.ДобавитьСпособВывода(ВыводПоУмолчанию);
Лог_v8runner.ДобавитьСпособВывода(ВыводПоУмолчанию);

Если УровеньЛога = УровниЛога.Отладка Тогда
Аппендер = Новый ВыводЛогаВФайл();
ИмяВременногоФайла = ОбщиеМетоды.ПолучитьИмяВременногоФайлаВКаталоге(КаталогЛогов,
СтрШаблон("%1.cmdline.log", ПараметрыСистемы.ИмяПродукта()));
Аппендер.ОткрытьФайл(ИмяВременногоФайла);
Лог_cmdline.ДобавитьСпособВывода(Аппендер);
КонецЕсли;

Лог.УстановитьРаскладку(ЭтотОбъект);

Лог_cmdline.УстановитьУровень(УровеньЛога);
Лог_cmdline.УстановитьРаскладку(ЭтотОбъект);
Лог_v8runner.УстановитьУровень(УровеньЛога);
Лог_v8runner.УстановитьРаскладку(ЭтотОбъект);
КонецПроцедуры

Функция СоответствиеПеременныхОкруженияПараметрамКоманд()
Expand Down Expand Up @@ -228,8 +201,11 @@

Попытка

ЗавершитьРаботу(ВыполнениеКоманды());
КодВозврата = ВыполнениеКоманды();

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

ЗавершитьРаботу(КодВозврата);

Исключение

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,12 @@

Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--uccode", "Ключ разрешения запуска");
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--command", "Строка, передаваемая в ПараметрыЗапуска /C''");
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--execute", "Путь внешней обработки 1С для запуска в предприятии");
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--execute",
"Путь внешней обработки 1С для запуска в предприятии");
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--additional",
"Дополнительные параметры для запуска предприятия.");
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--no-wait",
"Не ожидать завершения запущенной команды/действия");

Парсер.ДобавитьКоманду(ОписаниеКоманды);

Expand All @@ -56,13 +59,15 @@
ПутьОбработки1С = ПараметрыКоманды["--execute"];
ПутьОбработки1С = Заменить_runnerRoot_на_КаталогVanessaRunner(ПутьОбработки1С);
ПутьОбработки1С = ОбщиеМетоды.ПолныйПуть(ПутьОбработки1С);

ОжидатьЗавершения = Не ПараметрыКоманды["--no-wait"];

МенеджерКонфигуратора.ЗапуститьВРежимеПредприятия(
ПараметрыКоманды["--ibname"], ПараметрыКоманды["--db-user"], ПараметрыКоманды["--db-pwd"],
ПараметрыКоманды["--uccode"], ПараметрыКоманды["--command"],
ПутьОбработки1С,
ЗапускатьТолстыйКлиент, ПараметрыКоманды["--v8version"],
ПараметрыКоманды["--additional"]);
ПараметрыКоманды["--additional"], ОжидатьЗавершения);

Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех;
КонецФункции // ВыполнитьКоманду
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--storage-user", "Пользователь хранилища");
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--storage-pwd", "Пароль");
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--storage-ver", "Номер версии, по умолчанию берем последнюю");
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--uccode", "Ключ разрешения запуска");
Парсер.ДобавитьКоманду(ОписаниеКоманды);

КонецПроцедуры // ЗарегистрироватьКоманду
Expand All @@ -47,7 +48,8 @@
КорневойПутьПроекта = ПараметрыСистемы.КорневойПутьПроекта;

ОбновитьБазуДанных(ПараметрыКоманды["--src"], ПараметрыКоманды["--dt"],
ПараметрыКоманды["--ibname"], ПараметрыКоманды["--db-user"], ПараметрыКоманды["--db-pwd"],,
ПараметрыКоманды["--ibname"], ПараметрыКоманды["--db-user"], ПараметрыКоманды["--db-pwd"],
ПараметрыКоманды["--uccode"],
ПараметрыКоманды["--v8version"], ПараметрыКоманды["--dev"], ПараметрыКоманды["--storage"],
ПараметрыКоманды["--storage-name"], ПараметрыКоманды["--storage-user"], ПараметрыКоманды["--storage-pwd"], ПараметрыКоманды["--storage-ver"]);

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
///////////////////////////////////////////////////////////////////
//
// Служебный модуль с набором методов работы с командами приложения
//
// Структура модуля реализована в соответствии с рекомендациями
// oscript-app-template (C) EvilBeaver
//
///////////////////////////////////////////////////////////////////

#Использовать v8runner
#Использовать asserts

Перем Лог;

///////////////////////////////////////////////////////////////////////////////////////////////////
// Прикладной интерфейс

Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт

ТекстОписания =
" обновляем расширение в ИБ
| ";

ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().ОбновлениеРасширений, ТекстОписания);

Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "extensionName", "Имя расширения, которое нужно обновить");
Парсер.ДобавитьКоманду(ОписаниеКоманды);

КонецПроцедуры // ЗарегистрироватьКоманду

// Выполняет логику команды
//
// Параметры:
// ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений
// ДополнительныеПараметры (необязательно) - Соответствие - дополнительные параметры
//
Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт

Лог = ДополнительныеПараметры.Лог;

МенеджерКонфигуратора = Новый МенеджерКонфигуратора;

МенеджерКонфигуратора.Инициализация(
ПараметрыКоманды["--ibname"], ПараметрыКоманды["--db-user"], ПараметрыКоманды["--db-pwd"],
ПараметрыКоманды["--v8version"]);

МенеджерКонфигуратора.ОбновитьРасширение(ПараметрыКоманды["extensionName"]);

МенеджерКонфигуратора.ПоказатьСписокВсехРасширенийКонфигурации();

МенеджерКонфигуратора.Деструктор();

Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех;
КонецФункции // ВыполнитьКоманду
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@

// { приватная часть

Функция ВывестиОтчетПроверкиКонфигурацииВФорматеJUnitXML(Знач ПутьОтчетаВФорматеJUnitxml,
Процедура ВывестиОтчетПроверкиКонфигурацииВФорматеJUnitXML(Знач ПутьОтчетаВФорматеJUnitxml,
Знач ЛогПроверкиИзКонфигуратора, Знач НетОшибок, Знач ДатаНачала)

ЗаписьXML = Новый ЗаписьXML;
Expand Down Expand Up @@ -113,7 +113,7 @@

Лог.Отладка("СтрокаХМЛ %1", СтрокаХМЛ);

КонецФункции
КонецПроцедуры

// }

Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,6 @@
КаталогВременнойИБ = ВременныеФайлы.СоздатьКаталог();
Конфигуратор.КаталогСборки(КаталогВременнойИБ);

КаталогРаспаковки = ВременныеФайлы.СоздатьКаталог();

Если НЕ ПустаяСтрока(СтрокаПодключения) Тогда
Конфигуратор.УстановитьКонтекст(СтрокаПодключения, Пользователь, Пароль);
КонецЕсли;
Expand Down
Loading

0 comments on commit 19aee8f

Please sign in to comment.