From 8852ae1f931a4446a7f7bfa34c0ad186cf5e2bd8 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 20 Feb 2017 00:52:10 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=80=D0=BE=D0=B1=D0=BB=D0=B5?= =?UTF-8?q?=D0=BC=D1=8B=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BF=D1=80=D0=B8=20=D0=BD=D0=B5=D0=BC=D0=B5=D0=B4?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=BD=D0=BE=D0=BC=20=D0=B2=D1=8B=D0=B2=D0=BE?= =?UTF-8?q?=D0=B4=D0=B5=20#21?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + Методы по управления кодировкой вывода для КомадногоФайла + Зависание исправлено согласно решению в https://github.com/EvilBeaver/OneScript/issues/402#issuecomment-279239767 --- ...20\274\320\260\320\275\320\264\320\260.os" | 24 ++++++++++++++----- ...20\271\320\244\320\260\320\271\320\273.os" | 23 +++++++++++++++++- 2 files changed, 40 insertions(+), 7 deletions(-) diff --git "a/src/\320\232\320\276\320\274\320\260\320\275\320\264\320\260.os" "b/src/\320\232\320\276\320\274\320\260\320\275\320\264\320\260.os" index 6c1b783..07e975a 100644 --- "a/src/\320\232\320\276\320\274\320\260\320\275\320\264\320\260.os" +++ "b/src/\320\232\320\276\320\274\320\260\320\275\320\264\320\260.os" @@ -311,17 +311,29 @@ Если ПериодОпросаВМиллисекундах <> 0 Тогда Приостановить(ПериодОпросаВМиллисекундах); КонецЕсли; - Пока НЕ Процесс.Завершен ИЛИ Процесс.ПотокВывода.ЕстьДанные Цикл + Пока НЕ Процесс.Завершен ИЛИ Процесс.ПотокВывода.ЕстьДанные ИЛИ Процесс.ПотокОшибок.ЕстьДанные Цикл Если ПериодОпросаВМиллисекундах <> 0 Тогда Приостановить(ПериодОпросаВМиллисекундах); КонецЕсли; ОчереднаяСтрокаВывода = Процесс.ПотокВывода.Прочитать(); - ОчереднаяСтрокаВывода = СтрЗаменить(ОчереднаяСтрокаВывода, Символы.ВК, ""); - Если ОчереднаяСтрокаВывода <> "" Тогда - Лог.Отладка("%2%1", ОчереднаяСтрокаВывода, Символы.ПС); - ЗаписьXML.ЗаписатьБезОбработки(ОчереднаяСтрокаВывода); - КонецЕсли; + ОчереднаяСтрокаОшибок = Процесс.ПотокОшибок.Прочитать(); + + Если Не ПустаяСтрока(ОчереднаяСтрокаВывода) Тогда + ОчереднаяСтрокаВывода = СтрЗаменить(ОчереднаяСтрокаВывода, Символы.ВК, ""); + Если ОчереднаяСтрокаВывода <> "" Тогда + Лог.Отладка("%2%1", ОчереднаяСтрокаВывода, Символы.ПС); + ЗаписьXML.ЗаписатьБезОбработки(ОчереднаяСтрокаВывода); + КонецЕсли; + КонецЕсли; + + Если Не ПустаяСтрока(ОчереднаяСтрокаОшибок) Тогда + ОчереднаяСтрокаОшибок = СтрЗаменить(ОчереднаяСтрокаОшибок, Символы.ВК, ""); + Если ОчереднаяСтрокаОшибок <> "" Тогда + Лог.Отладка("%2%1", ОчереднаяСтрокаОшибок, Символы.ПС); + ЗаписьXML.ЗаписатьБезОбработки(ОчереднаяСтрокаОшибок); + КонецЕсли; + КонецЕсли; КонецЦикла; diff --git "a/src/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273.os" "b/src/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273.os" index 9bcbeb4..54927b9 100644 --- "a/src/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273.os" +++ "b/src/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273.os" @@ -11,6 +11,7 @@ Перем ЭтоWindows; Перем Лог; Перем НемедленнныйВывод; +Перем КодировкаВывода; // Получить имя лога продукта // @@ -40,6 +41,25 @@ Возврат Команда.ПолучитьВывод(); КонецФункции +// Установить кодировку вывода для выполнения команды. +// +// Параметры: +// Строка, Неопределено - кодировка вывода +// Если Неопределено, кодировка сбрасывается и используется значение по умолчанию от операционной системы +// +Процедура УстановитьКодировкуВывода(Знач НоваяКодировкаВывода) Экспорт + КодировкаВывода = НоваяКодировкаВывода; +КонецПроцедуры + +// Получить кодировка вывода выполняемой команды. +// +// Возвращаемое значение: +// Строка - кодировка вывода команды +// +Функция ПолучитьКодировкуВывода() Экспорт + Возврат КодировкаВывода; +КонецФункции + // Получить код возврата выполненной команды. // // Возвращаемое значение: @@ -102,7 +122,7 @@ Закрыть(); Команда = Новый Команда; - Команда.УстановитьКодировкуВывода(КодировкаТекста.OEM); + Команда.УстановитьКодировкуВывода(КодировкаВывода); Команда.ПоказыватьВыводНемедленно(НемедленнныйВывод); Если ЭтоWindows Тогда @@ -202,6 +222,7 @@ ТекстФайла = ""; НемедленнныйВывод = Истина; + КодировкаВывода = КодировкаТекста.OEM; Создать(); КонецПроцедуры From 17d00f85c1fdf6e4c4ffa2e98238f97eba040f1d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 20 Feb 2017 00:56:04 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=84=D0=B8=D1=87=D0=B0=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=BA=D0=B8=20=D1=81=D0=B1=D0=BE=D1=80=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Из https://github.com/oscript-library/gitsync/pull/45 --- features/opm-build.feature | 17 +++++++++++++++++ packagedef | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 features/opm-build.feature diff --git a/features/opm-build.feature b/features/opm-build.feature new file mode 100644 index 0000000..5fd157a --- /dev/null +++ b/features/opm-build.feature @@ -0,0 +1,17 @@ +# language: ru + +Функционал: Проверка сборки продукта + Как Пользователь + Я хочу автоматически проверять сборку моего продукта + Чтобы гарантировать возможность установку моего продукта у пользователей + +Контекст: Отключение отладки в логах + Допустим Я выключаю отладку лога с именем "oscript.lib.commands" + И Я очищаю параметры команды "opm" в контексте + +Сценарий: Выполнение команды без параметров + Когда Я добавляю параметр "build ." для команды "opm" + И Я выполняю команду "opm" + Тогда Вывод команды "opm" содержит "Сборка пакета завершена" + И Вывод команды "opm" не содержит "Внешнее исключение" + И Код возврата команды "opm" равен 0 diff --git a/packagedef b/packagedef index 379a44f..f444603 100644 --- a/packagedef +++ b/packagedef @@ -1,6 +1,6 @@  Описание.Имя("1commands") - .Версия("1.0") + .Версия("1.1") .ЗависитОт("logos") .ЗависитОт("asserts") .ЗависитОт("tempfiles")