Skip to content

Commit

Permalink
Merged release/1.1 into master
Browse files Browse the repository at this point in the history
  • Loading branch information
artbear committed Feb 19, 2017
2 parents 28d329f + 17d00f8 commit 87a1123
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 8 deletions.
17 changes: 17 additions & 0 deletions features/opm-build.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# language: ru

Функционал: Проверка сборки продукта
Как Пользователь
Я хочу автоматически проверять сборку моего продукта
Чтобы гарантировать возможность установку моего продукта у пользователей

Контекст: Отключение отладки в логах
Допустим Я выключаю отладку лога с именем "oscript.lib.commands"
И Я очищаю параметры команды "opm" в контексте

Сценарий: Выполнение команды без параметров
Когда Я добавляю параметр "build ." для команды "opm"
И Я выполняю команду "opm"
Тогда Вывод команды "opm" содержит "Сборка пакета завершена"
И Вывод команды "opm" не содержит "Внешнее исключение"
И Код возврата команды "opm" равен 0
2 changes: 1 addition & 1 deletion packagedef
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

Описание.Имя("1commands")
.Версия("1.0")
.Версия("1.1")
.ЗависитОт("logos")
.ЗависитОт("asserts")
.ЗависитОт("tempfiles")
Expand Down
24 changes: 18 additions & 6 deletions src/Команда.os
Original file line number Diff line number Diff line change
Expand Up @@ -311,17 +311,29 @@
Если ПериодОпросаВМиллисекундах <> 0 Тогда
Приостановить(ПериодОпросаВМиллисекундах);
КонецЕсли;
Пока НЕ Процесс.Завершен ИЛИ Процесс.ПотокВывода.ЕстьДанные Цикл
Пока НЕ Процесс.Завершен ИЛИ Процесс.ПотокВывода.ЕстьДанные ИЛИ Процесс.ПотокОшибок.ЕстьДанные Цикл
Если ПериодОпросаВМиллисекундах <> 0 Тогда
Приостановить(ПериодОпросаВМиллисекундах);
КонецЕсли;

ОчереднаяСтрокаВывода = Процесс.ПотокВывода.Прочитать();
ОчереднаяСтрокаВывода = СтрЗаменить(ОчереднаяСтрокаВывода, Символы.ВК, "");
Если ОчереднаяСтрокаВывода <> "" Тогда
Лог.Отладка("%2%1", ОчереднаяСтрокаВывода, Символы.ПС);
ЗаписьXML.ЗаписатьБезОбработки(ОчереднаяСтрокаВывода);
КонецЕсли;
ОчереднаяСтрокаОшибок = Процесс.ПотокОшибок.Прочитать();

Если Не ПустаяСтрока(ОчереднаяСтрокаВывода) Тогда
ОчереднаяСтрокаВывода = СтрЗаменить(ОчереднаяСтрокаВывода, Символы.ВК, "");
Если ОчереднаяСтрокаВывода <> "" Тогда
Лог.Отладка("%2%1", ОчереднаяСтрокаВывода, Символы.ПС);
ЗаписьXML.ЗаписатьБезОбработки(ОчереднаяСтрокаВывода);
КонецЕсли;
КонецЕсли;

Если Не ПустаяСтрока(ОчереднаяСтрокаОшибок) Тогда
ОчереднаяСтрокаОшибок = СтрЗаменить(ОчереднаяСтрокаОшибок, Символы.ВК, "");
Если ОчереднаяСтрокаОшибок <> "" Тогда
Лог.Отладка("%2%1", ОчереднаяСтрокаОшибок, Символы.ПС);
ЗаписьXML.ЗаписатьБезОбработки(ОчереднаяСтрокаОшибок);
КонецЕсли;
КонецЕсли;

КонецЦикла;

Expand Down
23 changes: 22 additions & 1 deletion src/КомандныйФайл.os
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
Перем ЭтоWindows;
Перем Лог;
Перем НемедленнныйВывод;
Перем КодировкаВывода;

// Получить имя лога продукта
//
Expand Down Expand Up @@ -40,6 +41,25 @@
Возврат Команда.ПолучитьВывод();
КонецФункции

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

// Получить кодировка вывода выполняемой команды.
//
// Возвращаемое значение:
// Строка - кодировка вывода команды
//
Функция ПолучитьКодировкуВывода() Экспорт
Возврат КодировкаВывода;
КонецФункции

// Получить код возврата выполненной команды.
//
// Возвращаемое значение:
Expand Down Expand Up @@ -102,7 +122,7 @@
Закрыть();

Команда = Новый Команда;
Команда.УстановитьКодировкуВывода(КодировкаТекста.OEM);
Команда.УстановитьКодировкуВывода(КодировкаВывода);
Команда.ПоказыватьВыводНемедленно(НемедленнныйВывод);

Если ЭтоWindows Тогда
Expand Down Expand Up @@ -202,6 +222,7 @@

ТекстФайла = "";
НемедленнныйВывод = Истина;
КодировкаВывода = КодировкаТекста.OEM;

Создать();
КонецПроцедуры
Expand Down

0 comments on commit 87a1123

Please sign in to comment.