From 305e33a24dce3f18fce2fbeddef911bb2a6e6891 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 23 Jun 2017 19:40:22 +0300 Subject: [PATCH 01/22] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=20=D0=BB=D0=BE=D0=B3?= =?UTF-8?q?=D0=B0=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B,=20=D0=B5?= =?UTF-8?q?=D1=81=D0=BB=D0=B8=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B8=D0=BB?= =?UTF-8?q?=D0=B8=20=D0=BD=D0=B5=20=D0=BE=D0=B6=D0=B8=D0=B4=D0=B0=D0=B5?= =?UTF-8?q?=D0=BC=D1=8B=D0=B9=20=D0=BA=D0=BE=D0=B4=20=D0=B2=D0=BE=D0=B7?= =?UTF-8?q?=D0=B2=D1=80=D0=B0=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\276\320\274\320\260\320\275\320\264\320\260.os" | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 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 21b3bab..3d0f7a0 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" @@ -392,11 +392,16 @@ Если ПроверяемКодВозврата Тогда Если КодВозврата < МинимальныйОжидаемыйКодВозврата или КодВозврата > МаксимальныйОжидаемыйКодВозврата Тогда Если МинимальныйОжидаемыйКодВозврата <> МаксимальныйОжидаемыйКодВозврата Тогда - ТекстОшибки = СтрШаблон("Ожидали, что код возврата <%1> команды <%2> совпадет с ожидаемым диапазоном <%3>-<%4>, а это не так", - КодВозврата, Приложение, МинимальныйОжидаемыйКодВозврата, МаксимальныйОжидаемыйКодВозврата); + ТекстОшибки = СтрШаблон("Ожидали, что код возврата <%1> команды <%2> совпадет с ожидаемым диапазоном <%3>-<%4>, а это не так! + |Лог команды: + |%5", + КодВозврата, Приложение, МинимальныйОжидаемыйКодВозврата, МаксимальныйОжидаемыйКодВозврата, + ПолучитьВывод()); Иначе - ТекстОшибки = СтрШаблон("Ожидали, что код возврата <%1> команды <%2> совпадет с ожидаемым <%3>, а это не так", - КодВозврата, Приложение, МинимальныйОжидаемыйКодВозврата); + ТекстОшибки = СтрШаблон("Ожидали, что код возврата <%1> команды <%2> совпадет с ожидаемым <%3>, а это не так! + |Лог команды: + |%4", + КодВозврата, Приложение, МинимальныйОжидаемыйКодВозврата, ПолучитьВывод()); КонецЕсли; Ожидаем.Что(КодВозврата, ТекстОшибки). БольшеИлиРавно(МинимальныйОжидаемыйКодВозврата). From 87d47366af4c99c28e6c999592a6bf3416b7c3f6 Mon Sep 17 00:00:00 2001 From: hpa Date: Fri, 13 Oct 2017 00:10:29 +0300 Subject: [PATCH 02/22] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D1=8C=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=BD=D1=8B=D1=85=20=D1=84?= =?UTF-8?q?=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2=20=D0=BD=D0=B0=20=D1=8F=D0=B7?= =?UTF-8?q?=D0=BA=D0=B5=20PowerShell.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\244\320\260\320\271\320\273\321\213.os" | 33 ++++++++++++++++--- ...4\320\260\320\271\320\273\321\213.feature" | 11 ++++++- readme.md | 19 +++++++++-- ...20\271\320\244\320\260\320\271\320\273.os" | 23 +++++++++++-- 4 files changed, 76 insertions(+), 10 deletions(-) diff --git "a/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" "b/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" index 5d26a8f..3056ac4 100644 --- "a/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" +++ "b/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" @@ -10,11 +10,13 @@ ВсеШаги = Новый Массив; ВсеШаги.Добавить("ЯСоздаюКомандныйФайл"); + ВсеШаги.Добавить("ЯСоздаюКомандныйФайлPowerShell"); ВсеШаги.Добавить("ЯДобавляюСтрокуВКомандныйФайл"); ВсеШаги.Добавить("ЯСообщаюСодержимоеКомандногоФайла"); ВсеШаги.Добавить("ЯВыполняюКомандныйФайл"); ВсеШаги.Добавить("ВыводКомандногоФайлаСодержит"); ВсеШаги.Добавить("КодВозвратаКомандногоФайлаРавен"); + ВсеШаги.Добавить("ЯУстанавливаюПриложениеЗапуска"); Возврат ВсеШаги; КонецФункции @@ -33,9 +35,12 @@ //Я создаю командный файл Процедура ЯСоздаюКомандныйФайл() Экспорт - КомандныйФайл = Новый КомандныйФайл; - КомандныйФайл.Создать(); - БДД.СохранитьВКонтекст("КомандныйФайл", КомандныйФайл); + СоздатьФайл("",""); +КонецПроцедуры + +//Я создаю командный файл PowerShell "" ".ps1" +Процедура ЯСоздаюКомандныйФайлPowerShell(Знач Путь="",Знач Расширение="") Экспорт + СоздатьФайл(Путь,Расширение); КонецПроцедуры //я добавляю строку "echo командный файл" в командный файл @@ -80,9 +85,16 @@ Ожидаем.Что(КомандныйФайл.ПолучитьКодВозврата(), "Код возврата").Равно(ОжидаемыйКодВозврата); КонецПроцедуры +//Я устанавливаю приложение запуска "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" +Процедура ЯУстанавливаюПриложениеЗапуска(Знач ПутьПриложения="") Экспорт + КомандныйФайл = Новый КомандныйФайл; + КомандныйФайл.УстановитьПриложение(ПутьПриложения); + БДД.СохранитьВКонтекст("КомандныйФайл", КомандныйФайл); +КонецПроцедуры -Процедура ВывестиТекстФайла(Знач ИмяФайла, Знач Кодировка = Неопределено) +Процедура ВывестиТекстФайла(Знач ИмяФайла, Знач Кодировка = Неопределено) + Файл = Новый Файл(ИмяФайла); Если НЕ Файл.Существует() Тогда Возврат; @@ -99,3 +111,16 @@ Сообщить(СтрокаФайла); КонецПроцедуры + +Процедура СоздатьФайл(Знач Путь="",Знач Расширение="") + КомандныйФайл = БДД.ПолучитьИзКонтекста("КомандныйФайл"); + Если КомандныйФайл=Неопределено Тогда + КомандныйФайл = Новый КомандныйФайл; + КонецЕсли; + + КомандныйФайл.Создать(Путь,Расширение); + БДД.СохранитьВКонтекст("КомандныйФайл", КомандныйФайл); +КонецПроцедуры + + + diff --git "a/features/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" "b/features/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" index 853efbd..0e64b87 100644 --- "a/features/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" +++ "b/features/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" @@ -9,7 +9,16 @@ Контекст: Отключение отладки в логах Допустим Я выключаю отладку лога с именем "oscript.lib.commands" -Сценарий: Выполнение простого командного файла +Сценарий: Выполнение командного файла PowerShell + Когда Я устанавливаю приложение запуска "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" + И Я создаю командный файл PowerShell "" ".ps1" + И Я добавляю строку "echo PowerShell" в командный файл + И Я сообщаю содержимое командного файла + И Я выполняю командный файл + Тогда Вывод командного файла содержит "PowerShell" + И Код возврата командного файла равен 0 + +Сценарий: Выполнение командного файла Когда Я создаю командный файл И Я добавляю строку "echo command file" в командный файл И Я сообщаю содержимое командного файла diff --git a/readme.md b/readme.md index cc713b2..94afdc4 100644 --- a/readme.md +++ b/readme.md @@ -3,7 +3,7 @@ Обсудить [![Join the chat at https://gitter.im/EvilBeaver/oscript-library](https://badges.gitter.im/EvilBeaver/oscript-library.svg)](https://gitter.im/EvilBeaver/oscript-library?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![GitHub release](https://img.shields.io/github/release/artbear/1commands.svg)](https://github.com/artbear/1commands/releases) [![Build status](https://ci.appveyor.com/api/projects/status/ervidk37h9m0tgs5?svg=true)](https://ci.appveyor.com/project/artbear/1commands) -## Библиотека для упрощения работы c запуском различных приложений и командных файлов (cmd, bat, bash) из oscript. +## Библиотека для упрощения работы c запуском различных приложений и командных файлов (cmd, bat, bash, PowerShell и др.) из oscript. Позволяет выполнять рутинные операции по запуску приложений и командных файлов системы. @@ -30,7 +30,22 @@ КомандныйФайл.ДобавитьКоманду("@echo off"); КомандныйФайл.ДобавитьКоманду("oscript -version"); -Сообщить(КомандныйФайл.ПолучитьСодержимоеФайла()); +Сообщить(КомандныйФайл.ПолучитьТекстФайла()); + +КодВозврата = КомандныйФайл.Исполнить(); +Сообщить(КодВозврата); + +Сообщить(КомандныйФайл.ПолучитьВывод()); +``` +или запуск командного файла PowerShell +```bsl +КомандныйФайл = Новый КомандныйФайл; +КомандныйФайл.УстановитьПриложение("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"); +КомандныйФайл.Создать(,".ps1"); + +КомандныйФайл.ДобавитьКоманду("Get-Help"); + +Сообщить(КомандныйФайл.ПолучитьТекстФайла()); КодВозврата = КомандныйФайл.Исполнить(); Сообщить(КодВозврата); 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 21625e0..1475327 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" @@ -7,6 +7,7 @@ Перем ПутьКоманды; Перем Команда; Перем ТекстФайла; +Перем Приложение; Перем ЭтоWindows; Перем Лог; @@ -22,6 +23,15 @@ Возврат "oscript.lib.commands"; КонецФункции +// Установить путь к приложению. +// +// Параметры: +// ПутьПриложения - Путь приложения (Строка) +// +Процедура УстановитьПриложение(Знач ПутьПриложения) Экспорт + Приложение = ПутьПриложения; +КонецПроцедуры // УстановитьПриложение() + // Получить путь командного файла // // Возвращаемое значение: @@ -75,14 +85,19 @@ // Параметры: // Путь - Строка - путь создаваемого файла. Необязательное значение. // Если не задан, создается временный файл в каталоге временных файлов +// Расширение - Строка - расширение исполняемого командного файла. +// Если не задано, подставляется ".bat" для Windows или ".sh" для Linux. // // Возвращаемое значение: // Строка - Путь созданного файла // -Функция Создать(Знач Путь = "") Экспорт +Функция Создать(Знач Путь = "",Знач Расширение="") Экспорт + Если ПустаяСтрока(Расширение) Тогда + Расширение = ?(ЭтоWindows, ".bat", ".sh"); + КонецЕсли; Если ПустаяСтрока(Путь) Тогда - ПутьКоманды = ВременныеФайлы.НовоеИмяФайла(?(ЭтоWindows, ".bat", ".sh")); + ПутьКоманды = ВременныеФайлы.НовоеИмяФайла(Расширение); Лог.Отладка("КомандныйФайл: задаю временный путь командного файла <%1>.", ПутьКоманды); Иначе ПутьКоманды = Путь; @@ -125,7 +140,9 @@ Команда.УстановитьКодировкуВывода(КодировкаВывода); Команда.ПоказыватьВыводНемедленно(НемедленнныйВывод); - Если ЭтоWindows Тогда + Если НЕ ПустаяСтрока(Приложение) Тогда + СтрокаЗапуска = """%1"""; + ИначеЕсли ЭтоWindows Тогда Приложение = "cmd.exe"; СтрокаЗапуска = "/C ""%1"""; Иначе From fa9ceb779287b9c5b72a53e4a92e8ddbeb0a5a23 Mon Sep 17 00:00:00 2001 From: hpa Date: Sun, 15 Oct 2017 10:40:28 +0300 Subject: [PATCH 03/22] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=BD=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\265\320\244\320\260\320\271\320\273\321\213.os" | 11 ++++++++--- ...5\320\244\320\260\320\271\320\273\321\213.feature" | 2 +- readme.md | 2 +- ...21\213\320\271\320\244\320\260\320\271\320\273.os" | 9 +++++++-- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git "a/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" "b/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" index 3056ac4..6e986d7 100644 --- "a/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" +++ "b/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" @@ -35,11 +35,11 @@ //Я создаю командный файл Процедура ЯСоздаюКомандныйФайл() Экспорт - СоздатьФайл("",""); + СоздатьФайл(); КонецПроцедуры //Я создаю командный файл PowerShell "" ".ps1" -Процедура ЯСоздаюКомандныйФайлPowerShell(Знач Путь="",Знач Расширение="") Экспорт +Процедура ЯСоздаюКомандныйФайлPowerShell(Знач Путь="", Знач Расширение="") Экспорт СоздатьФайл(Путь,Расширение); КонецПроцедуры @@ -87,6 +87,11 @@ //Я устанавливаю приложение запуска "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" Процедура ЯУстанавливаюПриложениеЗапуска(Знач ПутьПриложения="") Экспорт + СистемнаяИнформация = Новый СистемнаяИнформация; + ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; + Если НЕ ЭтоWindows Тогда + Возврат; + КонецЕсли; КомандныйФайл = Новый КомандныйФайл; КомандныйФайл.УстановитьПриложение(ПутьПриложения); БДД.СохранитьВКонтекст("КомандныйФайл", КомандныйФайл); @@ -112,7 +117,7 @@ КонецПроцедуры -Процедура СоздатьФайл(Знач Путь="",Знач Расширение="") +Процедура СоздатьФайл(Знач Путь="", Знач Расширение="") КомандныйФайл = БДД.ПолучитьИзКонтекста("КомандныйФайл"); Если КомандныйФайл=Неопределено Тогда КомандныйФайл = Новый КомандныйФайл; diff --git "a/features/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" "b/features/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" index 0e64b87..65461f9 100644 --- "a/features/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" +++ "b/features/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" @@ -12,7 +12,7 @@ Сценарий: Выполнение командного файла PowerShell Когда Я устанавливаю приложение запуска "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" И Я создаю командный файл PowerShell "" ".ps1" - И Я добавляю строку "echo PowerShell" в командный файл + И Я добавляю строку "Write-Host PowerShell" в командный файл И Я сообщаю содержимое командного файла И Я выполняю командный файл Тогда Вывод командного файла содержит "PowerShell" diff --git a/readme.md b/readme.md index 94afdc4..d1206eb 100644 --- a/readme.md +++ b/readme.md @@ -41,7 +41,7 @@ ```bsl КомандныйФайл = Новый КомандныйФайл; КомандныйФайл.УстановитьПриложение("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"); -КомандныйФайл.Создать(,".ps1"); +КомандныйФайл.Создать("",".ps1"); КомандныйФайл.ДобавитьКоманду("Get-Help"); 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 1475327..46d74ba 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" @@ -27,6 +27,11 @@ // // Параметры: // ПутьПриложения - Путь приложения (Строка) +// Например для запуска скриптов PowerShell +// Для 64bit PowerShell если стоит 64 битная система или 32bit PowerShell, если стоит 32 битная система +// "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" +// Для 32bit PowerShell на 64 битных системах находится в папке: +// "C:\Windows\syswow64\Windowspowershell\v1.0\powershell.exe" // Процедура УстановитьПриложение(Знач ПутьПриложения) Экспорт Приложение = ПутьПриложения; @@ -91,7 +96,7 @@ // Возвращаемое значение: // Строка - Путь созданного файла // -Функция Создать(Знач Путь = "",Знач Расширение="") Экспорт +Функция Создать(Знач Путь = "", Знач Расширение="") Экспорт Если ПустаяСтрока(Расширение) Тогда Расширение = ?(ЭтоWindows, ".bat", ".sh"); @@ -140,7 +145,7 @@ Команда.УстановитьКодировкуВывода(КодировкаВывода); Команда.ПоказыватьВыводНемедленно(НемедленнныйВывод); - Если НЕ ПустаяСтрока(Приложение) Тогда + Если ЗначениеЗаполнено(Приложение) Тогда СтрокаЗапуска = """%1"""; ИначеЕсли ЭтоWindows Тогда Приложение = "cmd.exe"; From fcc8fb1112e1f57315b9a2b0b7dec938eac46ebf Mon Sep 17 00:00:00 2001 From: hpa Date: Sun, 15 Oct 2017 23:31:31 +0300 Subject: [PATCH 04/22] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BF=D1=80=D0=BE=D0=BF=D1=83=D1=81=D0=BA=20=D1=88?= =?UTF-8?q?=D0=B0=D0=B3=D0=BE=D0=B2=20=D0=BF=D0=BE=20=D0=9B=D0=B8=D0=BD?= =?UTF-8?q?=D1=83=D0=BA=D1=81.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\244\320\260\320\271\320\273\321\213.os" | 61 ++++++++++++++++--- 1 file changed, 51 insertions(+), 10 deletions(-) diff --git "a/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" "b/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" index 6e986d7..a2d2bf6 100644 --- "a/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" +++ "b/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" @@ -2,6 +2,7 @@ #Использовать "../.." Перем БДД; //контекст фреймворка 1bdd +Перем ЭтоWindows; // Метод выдает список шагов, реализованных в данном файле-шагов Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт @@ -40,11 +41,19 @@ //Я создаю командный файл PowerShell "" ".ps1" Процедура ЯСоздаюКомандныйФайлPowerShell(Знач Путь="", Знач Расширение="") Экспорт + Если ПропускаюШаг() Тогда + Возврат; + КонецЕсли; + СоздатьФайл(Путь,Расширение); КонецПроцедуры //я добавляю строку "echo командный файл" в командный файл Процедура ЯДобавляюСтрокуВКомандныйФайл(Знач СтрокаКоманды) Экспорт + Если ПропускаюШаг() Тогда + Возврат; + КонецЕсли; + КомандныйФайл = БДД.ПолучитьИзКонтекста("КомандныйФайл"); КомандныйФайл.ДобавитьКоманду(СтрокаКоманды); @@ -52,6 +61,10 @@ //Я выполняю командный файл Процедура ЯВыполняюКомандныйФайл() Экспорт + Если ПропускаюШаг() Тогда + Возврат; + КонецЕсли; + КомандныйФайл = БДД.ПолучитьИзКонтекста("КомандныйФайл"); КомандныйФайл.Исполнить(); @@ -59,11 +72,18 @@ //Я сообщаю содержимое файла "ИмяФайла" Процедура ЯСообщаюСодержимоеФайла(Знач ИмяФайла) Экспорт + Если ПропускаюШаг() Тогда + Возврат; + КонецЕсли; + ВывестиТекстФайла(ИмяФайла); КонецПроцедуры //Я сообщаю содержимое командного файла Процедура ЯСообщаюСодержимоеКомандногоФайла() Экспорт + Если ПропускаюШаг() Тогда + Возврат; + КонецЕсли; КомандныйФайл = БДД.ПолучитьИзКонтекста("КомандныйФайл"); ТекстФайла = КомандныйФайл.ПолучитьТекстФайла(); @@ -72,6 +92,10 @@ //Вывод командного файла содержит "командный файл" Процедура ВыводКомандногоФайлаСодержит(Знач ОжидаемыйВыводКоманды) Экспорт + Если ПропускаюШаг() Тогда + Возврат; + КонецЕсли; + КомандныйФайл = БДД.ПолучитьИзКонтекста("КомандныйФайл"); ВыводКоманды = КомандныйФайл.ПолучитьВывод(); @@ -80,6 +104,10 @@ //Код возврата командного файла равен 0 Процедура КодВозвратаКомандногоФайлаРавен(Знач ОжидаемыйКодВозврата) Экспорт + Если ПропускаюШаг() Тогда + Возврат; + КонецЕсли; + КомандныйФайл = БДД.ПолучитьИзКонтекста("КомандныйФайл"); Ожидаем.Что(КомандныйФайл.ПолучитьКодВозврата(), "Код возврата").Равно(ОжидаемыйКодВозврата); @@ -87,32 +115,34 @@ //Я устанавливаю приложение запуска "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" Процедура ЯУстанавливаюПриложениеЗапуска(Знач ПутьПриложения="") Экспорт - СистемнаяИнформация = Новый СистемнаяИнформация; - ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; - Если НЕ ЭтоWindows Тогда + Если ПропускаюШаг() Тогда Возврат; КонецЕсли; - КомандныйФайл = Новый КомандныйФайл; + + КомандныйФайл = БДД.ПолучитьИзКонтекста("КомандныйФайл"); + Если КомандныйФайл=Неопределено Тогда + КомандныйФайл = Новый КомандныйФайл; + КонецЕсли; КомандныйФайл.УстановитьПриложение(ПутьПриложения); БДД.СохранитьВКонтекст("КомандныйФайл", КомандныйФайл); КонецПроцедуры Процедура ВывестиТекстФайла(Знач ИмяФайла, Знач Кодировка = Неопределено) - + Файл = Новый Файл(ИмяФайла); Если НЕ Файл.Существует() Тогда Возврат; КонецЕсли; - + Если Кодировка = Неопределено Тогда Кодировка = "utf-8"; КонецЕсли; - + ЧТ = Новый ЧтениеТекста(ИмяФайла, Кодировка); СтрокаФайла = ЧТ.Прочитать(); ЧТ.Закрыть(); - + Сообщить(СтрокаФайла); КонецПроцедуры @@ -127,5 +157,16 @@ БДД.СохранитьВКонтекст("КомандныйФайл", КомандныйФайл); КонецПроцедуры - - +Функция ПропускаюШаг() Экспорт + Если НЕ ЗначениеЗаполнено(ЭтоWindows) Тогда + СистемнаяИнформация = Новый СистемнаяИнформация; + ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; + КонецЕсли; + + Если НЕ ЭтоWindows Тогда + БДД.ВыполнитьШаг("Пропускаю шаг в Linux"); + КонецЕсли; + + Возврат НЕ ЭтоWindows; + +КонецФункции // ЭтоWindows() From 8f7cc82816e2c3c223c2a72ae39a89f1f0b4d86d Mon Sep 17 00:00:00 2001 From: hpa Date: Mon, 16 Oct 2017 10:44:33 +0300 Subject: [PATCH 05/22] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=BD=D0=B3=20=D0=BF=D1=80=D0=BE=D0=BF=D1=83?= =?UTF-8?q?=D1=81=D0=BA=D0=B0=20=D1=88=D0=B0=D0=B3=D0=B0=20=D0=B2=20=D0=9B?= =?UTF-8?q?=D0=B8=D0=BD=D1=83=D0=BA=D1=81.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...320\244\320\260\320\271\320\273\321\213.os" | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git "a/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" "b/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" index a2d2bf6..4a4c252 100644 --- "a/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" +++ "b/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" @@ -41,7 +41,7 @@ //Я создаю командный файл PowerShell "" ".ps1" Процедура ЯСоздаюКомандныйФайлPowerShell(Знач Путь="", Знач Расширение="") Экспорт - Если ПропускаюШаг() Тогда + Если ПропускаюШагВЛинукс() Тогда Возврат; КонецЕсли; @@ -50,7 +50,7 @@ //я добавляю строку "echo командный файл" в командный файл Процедура ЯДобавляюСтрокуВКомандныйФайл(Знач СтрокаКоманды) Экспорт - Если ПропускаюШаг() Тогда + Если ПропускаюШагВЛинукс() Тогда Возврат; КонецЕсли; @@ -61,7 +61,7 @@ //Я выполняю командный файл Процедура ЯВыполняюКомандныйФайл() Экспорт - Если ПропускаюШаг() Тогда + Если ПропускаюШагВЛинукс() Тогда Возврат; КонецЕсли; @@ -72,7 +72,7 @@ //Я сообщаю содержимое файла "ИмяФайла" Процедура ЯСообщаюСодержимоеФайла(Знач ИмяФайла) Экспорт - Если ПропускаюШаг() Тогда + Если ПропускаюШагВЛинукс() Тогда Возврат; КонецЕсли; @@ -81,7 +81,7 @@ //Я сообщаю содержимое командного файла Процедура ЯСообщаюСодержимоеКомандногоФайла() Экспорт - Если ПропускаюШаг() Тогда + Если ПропускаюШагВЛинукс() Тогда Возврат; КонецЕсли; КомандныйФайл = БДД.ПолучитьИзКонтекста("КомандныйФайл"); @@ -92,7 +92,7 @@ //Вывод командного файла содержит "командный файл" Процедура ВыводКомандногоФайлаСодержит(Знач ОжидаемыйВыводКоманды) Экспорт - Если ПропускаюШаг() Тогда + Если ПропускаюШагВЛинукс() Тогда Возврат; КонецЕсли; @@ -104,7 +104,7 @@ //Код возврата командного файла равен 0 Процедура КодВозвратаКомандногоФайлаРавен(Знач ОжидаемыйКодВозврата) Экспорт - Если ПропускаюШаг() Тогда + Если ПропускаюШагВЛинукс() Тогда Возврат; КонецЕсли; @@ -115,7 +115,7 @@ //Я устанавливаю приложение запуска "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" Процедура ЯУстанавливаюПриложениеЗапуска(Знач ПутьПриложения="") Экспорт - Если ПропускаюШаг() Тогда + Если ПропускаюШагВЛинукс() Тогда Возврат; КонецЕсли; @@ -157,7 +157,7 @@ БДД.СохранитьВКонтекст("КомандныйФайл", КомандныйФайл); КонецПроцедуры -Функция ПропускаюШаг() Экспорт +Функция ПропускаюШагВЛинукс() Если НЕ ЗначениеЗаполнено(ЭтоWindows) Тогда СистемнаяИнформация = Новый СистемнаяИнформация; ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; From 4617e7a0d82c5ef8cbe0ca81dc2e65bd6fd31232 Mon Sep 17 00:00:00 2001 From: hpa Date: Mon, 16 Oct 2017 12:12:23 +0300 Subject: [PATCH 06/22] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D1=83?= =?UTF-8?q?=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=BF=D1=83=D1=81=D0=BA=D0=B0=20=D1=88=D0=B0?= =?UTF-8?q?=D0=B3=D0=BE=D0=B2=20=D1=81=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=B2=20=D0=9B=D0=B8=D0=BD=D1=83=D0=BA=D1=81=20=D0=B8?= =?UTF-8?q?=D0=B7=20=D1=84=D0=B8=D1=87=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\244\320\260\320\271\320\273\321\213.os" | 32 ++++++++++++++----- ...4\320\260\320\271\320\273\321\213.feature" | 5 +++ 2 files changed, 29 insertions(+), 8 deletions(-) diff --git "a/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" "b/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" index 4a4c252..1dc2cf0 100644 --- "a/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" +++ "b/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" @@ -3,6 +3,7 @@ Перем БДД; //контекст фреймворка 1bdd Перем ЭтоWindows; +Перем ПропускаюВЛинукс; // Метод выдает список шагов, реализованных в данном файле-шагов Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт @@ -18,6 +19,8 @@ ВсеШаги.Добавить("ВыводКомандногоФайлаСодержит"); ВсеШаги.Добавить("КодВозвратаКомандногоФайлаРавен"); ВсеШаги.Добавить("ЯУстанавливаюПриложениеЗапуска"); + ВсеШаги.Добавить("ЯПропускаюЭтотСценарийВЛинукс"); + ВсеШаги.Добавить("ЯНЕПропускаюЭтотСценарийВЛинукс"); Возврат ВсеШаги; КонецФункции @@ -39,9 +42,20 @@ СоздатьФайл(); КонецПроцедуры +// Я пропускаю этот сценарий в Линукс +Процедура ЯПропускаюЭтотСценарийВЛинукс() Экспорт + ПропускаюВЛинукс = Истина; +КонецПроцедуры + +//Я не пропускаю этот сценарий в Линукс +Процедура ЯНЕПропускаюЭтотСценарийВЛинукс() Экспорт + ПропускаюВЛинукс = Ложь; +КонецПроцедуры + //Я создаю командный файл PowerShell "" ".ps1" Процедура ЯСоздаюКомандныйФайлPowerShell(Знач Путь="", Знач Расширение="") Экспорт Если ПропускаюШагВЛинукс() Тогда + БДД.ВыполнитьШаг("Пропускаю шаг в Linux"); Возврат; КонецЕсли; @@ -51,6 +65,7 @@ //я добавляю строку "echo командный файл" в командный файл Процедура ЯДобавляюСтрокуВКомандныйФайл(Знач СтрокаКоманды) Экспорт Если ПропускаюШагВЛинукс() Тогда + БДД.ВыполнитьШаг("Пропускаю шаг в Linux"); Возврат; КонецЕсли; @@ -62,6 +77,7 @@ //Я выполняю командный файл Процедура ЯВыполняюКомандныйФайл() Экспорт Если ПропускаюШагВЛинукс() Тогда + БДД.ВыполнитьШаг("Пропускаю шаг в Linux"); Возврат; КонецЕсли; @@ -73,6 +89,7 @@ //Я сообщаю содержимое файла "ИмяФайла" Процедура ЯСообщаюСодержимоеФайла(Знач ИмяФайла) Экспорт Если ПропускаюШагВЛинукс() Тогда + БДД.ВыполнитьШаг("Пропускаю шаг в Linux"); Возврат; КонецЕсли; @@ -82,6 +99,7 @@ //Я сообщаю содержимое командного файла Процедура ЯСообщаюСодержимоеКомандногоФайла() Экспорт Если ПропускаюШагВЛинукс() Тогда + БДД.ВыполнитьШаг("Пропускаю шаг в Linux"); Возврат; КонецЕсли; КомандныйФайл = БДД.ПолучитьИзКонтекста("КомандныйФайл"); @@ -93,6 +111,7 @@ //Вывод командного файла содержит "командный файл" Процедура ВыводКомандногоФайлаСодержит(Знач ОжидаемыйВыводКоманды) Экспорт Если ПропускаюШагВЛинукс() Тогда + БДД.ВыполнитьШаг("Пропускаю шаг в Linux"); Возврат; КонецЕсли; @@ -105,6 +124,7 @@ //Код возврата командного файла равен 0 Процедура КодВозвратаКомандногоФайлаРавен(Знач ОжидаемыйКодВозврата) Экспорт Если ПропускаюШагВЛинукс() Тогда + БДД.ВыполнитьШаг("Пропускаю шаг в Linux"); Возврат; КонецЕсли; @@ -116,6 +136,7 @@ //Я устанавливаю приложение запуска "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" Процедура ЯУстанавливаюПриложениеЗапуска(Знач ПутьПриложения="") Экспорт Если ПропускаюШагВЛинукс() Тогда + БДД.ВыполнитьШаг("Пропускаю шаг в Linux"); Возврат; КонецЕсли; @@ -158,15 +179,10 @@ КонецПроцедуры Функция ПропускаюШагВЛинукс() - Если НЕ ЗначениеЗаполнено(ЭтоWindows) Тогда + Если ЭтоWindows = Неопределено Тогда СистемнаяИнформация = Новый СистемнаяИнформация; ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; КонецЕсли; - - Если НЕ ЭтоWindows Тогда - БДД.ВыполнитьШаг("Пропускаю шаг в Linux"); - КонецЕсли; - - Возврат НЕ ЭтоWindows; - + + Возврат ПропускаюВЛинукс И НЕ ЭтоWindows; КонецФункции // ЭтоWindows() diff --git "a/features/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" "b/features/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" index 65461f9..a862471 100644 --- "a/features/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" +++ "b/features/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" @@ -8,6 +8,7 @@ Контекст: Отключение отладки в логах Допустим Я выключаю отладку лога с именем "oscript.lib.commands" + И Я пропускаю этот сценарий в Линукс Сценарий: Выполнение командного файла PowerShell Когда Я устанавливаю приложение запуска "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" @@ -18,6 +19,10 @@ Тогда Вывод командного файла содержит "PowerShell" И Код возврата командного файла равен 0 +Контекст: Отключение отладки в логах + Допустим Я выключаю отладку лога с именем "oscript.lib.commands" + И Я не пропускаю этот сценарий в Линукс + Сценарий: Выполнение командного файла Когда Я создаю командный файл И Я добавляю строку "echo command file" в командный файл From da6b8fad56f39f644385b402579a1a4f17561bc9 Mon Sep 17 00:00:00 2001 From: hpa Date: Mon, 16 Oct 2017 14:39:45 +0300 Subject: [PATCH 07/22] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D0=BD?= =?UTF-8?q?=D0=B5=20=D0=B2=D0=B0=D0=BB=D0=B8=D0=B4=D0=BD=D1=8B=D0=B9=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=82=D0=B5=D0=BA=D1=81=D1=82=20=D0=B8=D0=B7?= =?UTF-8?q?=20=D1=84=D0=B8=D1=87=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...13\320\265\320\244\320\260\320\271\320\273\321\213.os" | 8 +------- ...0\265\320\244\320\260\320\271\320\273\321\213.feature" | 8 ++------ 2 files changed, 3 insertions(+), 13 deletions(-) diff --git "a/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" "b/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" index 1dc2cf0..8ea8554 100644 --- "a/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" +++ "b/features/step_definitions/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.os" @@ -20,7 +20,6 @@ ВсеШаги.Добавить("КодВозвратаКомандногоФайлаРавен"); ВсеШаги.Добавить("ЯУстанавливаюПриложениеЗапуска"); ВсеШаги.Добавить("ЯПропускаюЭтотСценарийВЛинукс"); - ВсеШаги.Добавить("ЯНЕПропускаюЭтотСценарийВЛинукс"); Возврат ВсеШаги; КонецФункции @@ -29,7 +28,7 @@ // Процедура выполняется перед запуском каждого сценария Процедура ПередЗапускомСценария(Знач Узел) Экспорт - + ПропускаюВЛинукс = Ложь; КонецПроцедуры // Процедура выполняется после завершения каждого сценария @@ -47,11 +46,6 @@ ПропускаюВЛинукс = Истина; КонецПроцедуры -//Я не пропускаю этот сценарий в Линукс -Процедура ЯНЕПропускаюЭтотСценарийВЛинукс() Экспорт - ПропускаюВЛинукс = Ложь; -КонецПроцедуры - //Я создаю командный файл PowerShell "" ".ps1" Процедура ЯСоздаюКомандныйФайлPowerShell(Знач Путь="", Знач Расширение="") Экспорт Если ПропускаюШагВЛинукс() Тогда diff --git "a/features/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" "b/features/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" index a862471..8ad0dfb 100644 --- "a/features/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" +++ "b/features/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" @@ -8,10 +8,10 @@ Контекст: Отключение отладки в логах Допустим Я выключаю отладку лога с именем "oscript.lib.commands" - И Я пропускаю этот сценарий в Линукс Сценарий: Выполнение командного файла PowerShell - Когда Я устанавливаю приложение запуска "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" + Когда Я пропускаю этот сценарий в Линукс + И Я устанавливаю приложение запуска "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" И Я создаю командный файл PowerShell "" ".ps1" И Я добавляю строку "Write-Host PowerShell" в командный файл И Я сообщаю содержимое командного файла @@ -19,10 +19,6 @@ Тогда Вывод командного файла содержит "PowerShell" И Код возврата командного файла равен 0 -Контекст: Отключение отладки в логах - Допустим Я выключаю отладку лога с именем "oscript.lib.commands" - И Я не пропускаю этот сценарий в Линукс - Сценарий: Выполнение командного файла Когда Я создаю командный файл И Я добавляю строку "echo command file" в командный файл From 72b6e236deec2f8d0a626f63fa9b24eee097ac37 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 18 Oct 2017 21:32:26 +0300 Subject: [PATCH 08/22] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B8=D0=B3=D0=BD=D0=BE=D1=80=D0=B8=D1=80=D1=83=D0=B5?= =?UTF-8?q?=D0=BC=D1=8B=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20#29?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 29d8318..100d358 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ exec.log bdd-log.xml +*.ospx +coverage/ From 80412a9ac12a466559d8b573f26d7cb32543a31e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 18 Oct 2017 21:32:55 +0300 Subject: [PATCH 09/22] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BD=D0=B5=D0=B2=D0=B5=D1=80=D0=BD=D1=8B=D0=B9?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B3=D0=BE=D0=BD=D0=B0=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= =?UTF-8?q?,=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=BD=D1=83=D1=8E=20?= =?UTF-8?q?=D0=B2=20#29?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- appveyor-runtests.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor-runtests.cmd b/appveyor-runtests.cmd index 32abd89..f7dc690 100644 --- a/appveyor-runtests.cmd +++ b/appveyor-runtests.cmd @@ -9,7 +9,7 @@ set OSCRIPT=%ProgramFiles(x86)%\OneScript @echo . @rem call 1bdd features -junit-out ./bdd-log.xml -@call opm test +@call oscript tasks/test.os @if %ERRORLEVEL%==2 GOTO good_exit_bdd @if %ERRORLEVEL%==0 GOTO good_exit_bdd From 7073faf6ff8185a90a6f41f52b4cb09787d027c2 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 18 Oct 2017 22:10:59 +0300 Subject: [PATCH 10/22] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D1=82=D0=B8=D0=BF=D0=BE=D0=B2=D0=BE=D0=B9=20Jen?= =?UTF-8?q?kinsfile=20=D0=B4=D0=BB=D1=8F=20build.oscript.io=20fix=20#27?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..4fd2ff0 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,92 @@ + +pipeline { + agent none + options { + buildDiscarder(logRotator(numToKeepStr: '7')) + skipDefaultCheckout() + } + + stages { + stage('Тестирование кода пакета WIN') { + + agent { label 'windows' } + + steps { + checkout scm + + script { + if( fileExists ('tasks/test.os') ){ + bat 'chcp 65001 > nul && oscript tasks/test.os' + junit 'tests.xml' + } + else + echo 'no testing task' + } + + } + + } + + stage('Тестирование кода пакета LINUX') { + + agent { label 'master' } + + steps { + echo 'under development' + } + + } + + stage('Сборка пакета') { + + agent { label 'windows' } + + steps { + checkout scm + + bat 'erase /Q *.ospx' + bat 'chcp 65001 > nul && call opm build .' + + stash includes: '*.ospx', name: 'package' + archiveArtifacts '*.ospx' + } + + } + + stage('Публикация в хабе') { + when { + branch 'master' + } + agent { label 'master' } + steps { + sh 'rm -f *.ospx' + unstash 'package' + + sh ''' + artifact=`ls -1 *.ospx` + basename=`echo $artifact | sed -r 's/(.+)-.*(.ospx)/\\1/'` + cp $artifact $basename.ospx + sudo rsync -rv *.ospx /var/www/hub.oscript.io/download/$basename/ + '''.stripIndent() + } + } + + stage('Публикация в нестабильном хабе') { + when { + branch 'develop' + } + agent { label 'master' } + steps { + sh 'rm -f *.ospx' + unstash 'package' + + sh ''' + artifact=`ls -1 *.ospx` + basename=`echo $artifact | sed -r 's/(.+)-.*(.ospx)/\\1/'` + cp $artifact $basename.ospx + sudo rsync -rv *.ospx /var/www/hub.oscript.io/dev-channel/$basename/ + '''.stripIndent() + } + } + } +} From 883230b18f2632e472e4655eeb14d9155a9abe3a Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 18 Oct 2017 22:11:16 +0300 Subject: [PATCH 11/22] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D1=81=D1=87=D0=B5?= =?UTF-8?q?=D1=82=20=D0=BF=D0=BE=D0=BA=D1=80=D1=8B=D1=82=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=B4=D0=B0=20#27?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/coverage.os | 73 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 tasks/coverage.os diff --git a/tasks/coverage.os b/tasks/coverage.os new file mode 100644 index 0000000..ca026d3 --- /dev/null +++ b/tasks/coverage.os @@ -0,0 +1,73 @@ +#Использовать 1commands +#Использовать asserts +#Использовать fs +#Использовать json + +СистемнаяИнформация = Новый СистемнаяИнформация; +ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; + +ФС.ОбеспечитьПустойКаталог("coverage"); +ПутьКСтат = "coverage/stat.json"; + +Команда = Новый Команда; +Команда.УстановитьКоманду("oscript"); +Если НЕ ЭтоWindows Тогда + Команда.ДобавитьПараметр("-encoding=utf-8"); +КонецЕсли; +Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат)); +Команда.ДобавитьПараметр("tasks/test.os"); +Команда.ПоказыватьВыводНемедленно(Истина); + +КодВозврата = Команда.Исполнить(); +Сообщить(Команда.ПолучитьВывод()); +Ожидаем.Что(КодВозврата).Равно(0); + +Файл_Стат = Новый Файл(ПутьКСтат); +Ожидаем.Что(Файл_Стат.Существует(), СтрШаблон("Файл <%1> с результатами покрытия не существует!", Файл_Стат.ПолноеИмя)).ЭтоИстина(); + +ЧтениеТекста = Новый ЧтениеТекста(ПутьКСтат, КодировкаТекста.UTF8); + +СтрокаJSON = ЧтениеТекста.Прочитать(); +ЧтениеТекста.Закрыть(); + +Парсер = Новый ПарсерJSON(); +ДанныеПокрытия = Парсер.ПрочитатьJSON(СтрокаJSON); + +ЗаписьXML = Новый ЗаписьXML; +ЗаписьXML.ОткрытьФайл("coverage/genericCoverage.xml"); +ЗаписьXML.ЗаписатьОбъявлениеXML(); +ЗаписьXML.ЗаписатьНачалоЭлемента("coverage"); +ЗаписьXML.ЗаписатьАтрибут("version", "1"); + +Для Каждого Файл Из ДанныеПокрытия Цикл + + ДанныеФайла = Файл.Значение; + + ЗаписьXML.ЗаписатьНачалоЭлемента("file"); + ЗаписьXML.ЗаписатьАтрибут("path", ДанныеФайла.Получить("#path")); + + Для Каждого КлючИЗначение Из ДанныеФайла Цикл + + Если КлючИЗначение.Ключ = "#path" Тогда + Продолжить; + КонецЕсли; + + ДанныеПроцедуры = КлючИЗначение.Значение; + Для Каждого ДанныеСтроки Из ДанныеПроцедуры Цикл + + ЗаписьXML.ЗаписатьНачалоЭлемента("lineToCover"); + + ЗаписьXML.ЗаписатьАтрибут("lineNumber", ДанныеСтроки.Ключ); + Покрыто = Число(ДанныеСтроки.Значение.Получить("count")) > 0; + ЗаписьXML.ЗаписатьАтрибут("covered", Формат(Покрыто, "БИ=true; БЛ=false")); + + ЗаписьXML.ЗаписатьКонецЭлемента(); // lineToCover + КонецЦикла + КонецЦикла; + + ЗаписьXML.ЗаписатьКонецЭлемента(); // file + +КонецЦикла; + +ЗаписьXML.ЗаписатьКонецЭлемента(); // coverage +ЗаписьXML.Закрыть(); From 2e50e7793b20392f68535e9fb009d5441c4e224f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 20 Oct 2017 13:17:10 +0300 Subject: [PATCH 12/22] =?UTF-8?q?=D0=A3=D1=87=D0=B8=D1=82=D1=8B=D0=B2?= =?UTF-8?q?=D0=B0=D1=8E=20junit-=D1=80=D0=B5=D0=B7=D1=83=D0=BB=D1=8C=D1=82?= =?UTF-8?q?=D0=B0=D1=82=D1=8B=201bdd=20=D0=A3=D1=87=D0=B8=D1=82=D1=8B?= =?UTF-8?q?=D0=B2=D0=B0=D1=8E,=20=D1=87=D1=82=D0=BE=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D0=BE=D0=B2=20junit=20=D0=BC=D0=BE=D0=B6=D0=B5=D1=82=20?= =?UTF-8?q?=D0=BD=D0=B5=20=D0=B1=D1=8B=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4fd2ff0..ddcd33c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -17,7 +17,9 @@ pipeline { script { if( fileExists ('tasks/test.os') ){ bat 'chcp 65001 > nul && oscript tasks/test.os' - junit 'tests.xml' + + junit allowEmptyResults: true, testResults: 'tests.xml' + junit allowEmptyResults: true, testResults: 'bdd-log.xml' } else echo 'no testing task' From a0bbf85ab314aecd4c905142fdefcf5b65e21048 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 21 Oct 2017 22:19:30 +0300 Subject: [PATCH 13/22] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20badge=20=D0=B4=D0=BB=D1=8F=20=D1=81=D0=B1=D0=BE=D1=80?= =?UTF-8?q?=D0=BA=D0=B8=20build.oscript.io?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index d1206eb..45254fa 100644 --- a/readme.md +++ b/readme.md @@ -1,7 +1,7 @@ # 1commands Обсудить [![Join the chat at https://gitter.im/EvilBeaver/oscript-library](https://badges.gitter.im/EvilBeaver/oscript-library.svg)](https://gitter.im/EvilBeaver/oscript-library?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![GitHub release](https://img.shields.io/github/release/artbear/1commands.svg)](https://github.com/artbear/1commands/releases) -[![Build status](https://ci.appveyor.com/api/projects/status/ervidk37h9m0tgs5?svg=true)](https://ci.appveyor.com/project/artbear/1commands) +[![Build Status](http://build.oscript.io/buildStatus/icon?job=oscript-library/1commands/develop)](http://build.oscript.io/job/oscript-library/job/1commands/job/develop/) [![Build status](https://ci.appveyor.com/api/projects/status/ervidk37h9m0tgs5?svg=true)](https://ci.appveyor.com/project/artbear/1commands) ## Библиотека для упрощения работы c запуском различных приложений и командных файлов (cmd, bat, bash, PowerShell и др.) из oscript. From 12f8cb7d7d2d611a128e47a88c5c31ecf569433e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 10 Nov 2017 00:46:38 +0300 Subject: [PATCH 14/22] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=B3=D0=BE=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B0=20=D0=B4=D0=BB=D1=8F=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=B4=D0=B0=D1=87=D0=B8=20=D0=B2=20=D0=BE=D1=82=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5=20=D0=BB=D0=BE=D0=B3=D0=B8=20#18?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\274\320\260\320\275\320\264\321\213.os" | 18 +++ ...4\320\260\320\275\320\264\321\213.feature" | 107 ++++++++++-------- ...20\274\320\260\320\275\320\264\320\260.os" | 34 +++++- 3 files changed, 107 insertions(+), 52 deletions(-) diff --git "a/features/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" "b/features/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" index 3bf1b8b..4906388 100644 --- "a/features/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" +++ "b/features/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" @@ -17,6 +17,7 @@ ВсеШаги.Добавить("ЯУстанавливаюОжидаемыйДиапазонКодовВозвратаОтДоДляКоманды"); ВсеШаги.Добавить("ЯУстанавливаюПериодОпросаЗавершенияКомандыВМиллисекунду"); ВсеШаги.Добавить("ЯСнимаюФлагПоказаНемедленногоВыводаКоманды"); + ВсеШаги.Добавить("ЯПодключаюВыводКомандыВЛог"); Возврат ВсеШаги; КонецФункции @@ -101,8 +102,25 @@ Команда.ДобавитьПараметры(МассивПараметров); КонецПроцедуры +//Я подключаю вывод команды "oscript" в лог "ТестовыйЛог" +Процедура ЯПодключаюВыводКомандыВЛог(Знач ИмяИлиТекстКоманды, Знач ИмяЛога) Экспорт + Команда = ПолучитьКомандуИзКонтекста(ИмяИлиТекстКоманды); + Команда.ДобавитьЛогВыводаКоманды(ИмяЛога); + + НовыйЛог = Логирование.ПолучитьЛог(ИмяЛога); + НовыйЛог.УстановитьРаскладку(ЭтотОбъект); + // ВызватьИсключение Новый ИнформацияОбОшибке("Шаг <ЯПодключаюВыводКомандыВЛог> не реализован", "Не реализовано."); +КонецПроцедуры + + // { Служебные функции +Функция Форматировать(Знач Уровень, Знач Сообщение) Экспорт + + Возврат СтрШаблон("ФИЧА ВыполнениеКоманды: %2 - %3", ТекущаяДата(), УровниЛога.НаименованиеУровня(Уровень), Сообщение); + +КонецФункции + Процедура ВыполнитьКоманду(Знач ИмяИлиТекстКоманды, Знач ИспользуемКомандныйПроцессор = Истина) Команда = ПолучитьКомандуИзКонтекста(ИмяИлиТекстКоманды); Команда.УстановитьИсполнениеЧерезКомандыСистемы(ИспользуемКомандныйПроцессор); diff --git "a/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" "b/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" index 09f06e4..257fdc3 100644 --- "a/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" +++ "b/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" @@ -11,63 +11,72 @@ И Я очищаю параметры команды "git" в контексте И Я очищаю параметры команды "oscript" в контексте -Сценарий: Выполнение команды без параметров - Когда Я выполняю команду "git" - Тогда Вывод команды "git" содержит "[--version]" - И Код возврата команды "git" равен 1 +# Сценарий: Выполнение команды без параметров +# Когда Я выполняю команду "git" +# Тогда Вывод команды "git" содержит "[--version]" +# И Код возврата команды "git" равен 1 -Сценарий: Выполнение команды с параметрами - Когда Я добавляю параметр "--version" для команды "git" - И Я выполняю команду "git" - Тогда Я сообщаю вывод команды "git" - И Вывод команды "git" содержит "version" - И Код возврата команды "git" равен 0 +# Сценарий: Выполнение команды с параметрами +# Когда Я добавляю параметр "--version" для команды "git" +# И Я выполняю команду "git" +# Тогда Я сообщаю вывод команды "git" +# И Вывод команды "git" содержит "version" +# И Код возврата команды "git" равен 0 -Сценарий: Выполнение команды с массивом параметров - Когда Я добавляю параметры для команды "oscript" - | -version | - | -encoding=utf-8 | - И Я выполняю команду "oscript" - Тогда я вижу в консоли строку подобно "(\d+\.){3}\d+" +# Сценарий: Выполнение команды с массивом параметров +# Когда Я добавляю параметры для команды "oscript" +# | -version | +# | -encoding=utf-8 | +# И Я выполняю команду "oscript" +# Тогда я вижу в консоли строку подобно "(\d+\.){3}\d+" -Сценарий: Выполнение команды через командный процессор системы - Когда Я выполняю команду "oscript" через командный процессор системы - Тогда Вывод команды "oscript" содержит "1Script Execution Engine" - И Код возврата команды "oscript" равен 0 +# Сценарий: Выполнение команды через командный процессор системы +# Когда Я выполняю команду "oscript" через командный процессор системы +# Тогда Вывод команды "oscript" содержит "1Script Execution Engine" +# И Код возврата команды "oscript" равен 0 -Сценарий: Выполнение команды без командного процессора системы - Когда Я выполняю команду "oscript" без командного процессора системы - Тогда Вывод команды "oscript" содержит "1Script Execution Engine" - И Код возврата команды "oscript" равен 0 +# Сценарий: Выполнение команды без командного процессора системы +# Когда Я выполняю команду "oscript" без командного процессора системы +# Тогда Вывод команды "oscript" содержит "1Script Execution Engine" +# И Код возврата команды "oscript" равен 0 -Сценарий: Проверка правильного кода возврата команды - Когда Я устанавливаю ожидаемый код возврата 0 для команды "oscript" - Когда Я выполняю команду "oscript" - Тогда Код возврата команды "oscript" равен 0 +# Сценарий: Проверка правильного кода возврата команды +# Когда Я устанавливаю ожидаемый код возврата 0 для команды "oscript" +# Когда Я выполняю команду "oscript" +# Тогда Код возврата команды "oscript" равен 0 -Сценарий: Проверка неправильного кода возврата команды - Когда Я устанавливаю ожидаемый код возврата 123 для команды "oscript" - Тогда Я получаю исключение при выполнении команды "oscript" - И Код возврата команды "oscript" равен 0 +# Сценарий: Проверка неправильного кода возврата команды +# Когда Я устанавливаю ожидаемый код возврата 123 для команды "oscript" +# Тогда Я получаю исключение при выполнении команды "oscript" +# И Код возврата команды "oscript" равен 0 -Сценарий: Проверка правильного диапазона кодов возврата команды - Когда Я устанавливаю ожидаемый диапазон кодов возврата от 0 до 10 для команды "oscript" - Когда Я выполняю команду "oscript" - Тогда Код возврата команды "oscript" равен 0 +# Сценарий: Проверка правильного диапазона кодов возврата команды +# Когда Я устанавливаю ожидаемый диапазон кодов возврата от 0 до 10 для команды "oscript" +# Когда Я выполняю команду "oscript" +# Тогда Код возврата команды "oscript" равен 0 -Сценарий: Выполнение команды c установленным периодом опроса завершения команды - Когда Я устанавливаю период опроса завершения команды "oscript" в 1 миллисекунду - И Я выполняю команду "oscript" - Тогда Вывод команды "oscript" содержит "1Script Execution Engine" - И Код возврата команды "oscript" равен 0 +# Сценарий: Выполнение команды c установленным периодом опроса завершения команды +# Когда Я устанавливаю период опроса завершения команды "oscript" в 1 миллисекунду +# И Я выполняю команду "oscript" +# Тогда Вывод команды "oscript" содержит "1Script Execution Engine" +# И Код возврата команды "oscript" равен 0 -Сценарий: Выполнение команды c запретом немедленного вывода команды команды - Когда Я снимаю флаг показа немедленного вывода команды "oscript" - И Я выполняю команду "oscript" - Тогда Вывод команды "oscript" содержит "1Script Execution Engine" - И Код возврата команды "oscript" равен 0 +# Сценарий: Выполнение команды c запретом немедленного вывода команды команды +# Когда Я снимаю флаг показа немедленного вывода команды "oscript" +# И Я выполняю команду "oscript" +# Тогда Вывод команды "oscript" содержит "1Script Execution Engine" +# И Код возврата команды "oscript" равен 0 -Сценарий: Проверка неправильного диапазона кодов возврата команды - Когда Я устанавливаю ожидаемый диапазон кодов возврата от 1 до 10 для команды "oscript" - Тогда Я получаю исключение при выполнении команды "oscript" +# Сценарий: Проверка неправильного диапазона кодов возврата команды +# Когда Я устанавливаю ожидаемый диапазон кодов возврата от 1 до 10 для команды "oscript" +# Тогда Я получаю исключение при выполнении команды "oscript" +# И Код возврата команды "oscript" равен 0 + +Сценарий: Выполнение команды с выводом в отдельный лог + Допустим Я снимаю флаг показа немедленного вывода команды "oscript" + Допустим Я подключаю вывод команды "oscript" в лог "ТестовыйЛог" + Когда Я выполняю команду "oscript" + # Тогда Вывод команды "oscript" содержит "1Script Execution Engine" + # Тогда Я сообщаю вывод команды "oscript" + И Вывод команды "oscript" содержит "ФИЧА ВыполнениеКоманды" И Код возврата команды "oscript" равен 0 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 552d065..c61d800 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" @@ -17,6 +17,7 @@ Перем МаксимальныйОжидаемыйКодВозврата; Перем ПериодОпросаВМиллисекундах; Перем НемедленнныйВывод; +Перем ПодключенныеЛоги; Перем ЭтоWindows; Перем Лог; @@ -149,6 +150,22 @@ НемедленнныйВывод = НемедленныйПоказ; КонецПроцедуры +// Устанавливает передачу вывода команды в дополнительный лог +// +// Параметры: +// ИмяЛогаИлиЛог - <Строка, Лог> - имя лога или объект лога +// +Процедура ДобавитьЛогВыводаКоманды(Знач ИмяЛогаИлиЛог) Экспорт + + НовыйЛог = ИмяЛогаИлиЛог; + Если ТипЗнч(ИмяЛогаИлиЛог) = Тип("Строка") Тогда + НовыйЛог = Логирование.ПолучитьЛог(ИмяЛогаИлиЛог); + КонецЕсли; + + ПодключенныеЛоги.Добавить(НовыйЛог); + +КонецПроцедуры + // Установить ожидаемый код возврата // После исполнения команды будет выброшено исключение, если полученный код возврата не совпадает с ожидаемым // @@ -353,12 +370,12 @@ КонецЕсли; ОбработатьОчереднуюСтрокуВывода(Процесс.ПотокВывода, ЗаписьXML, "В цикле"); - ОбработатьОчереднуюСтрокуВывода(Процесс.ПотокОшибок, ЗаписьXML, "В цикле"); + ОбработатьОчереднуюСтрокуВывода(Процесс.ПотокОшибок, ЗаписьXML, "В цикле", Истина); КонецЦикла; ОбработатьОчереднуюСтрокуВывода(Процесс.ПотокВывода, ЗаписьXML, "После цикла"); - ОбработатьОчереднуюСтрокуВывода(Процесс.ПотокОшибок, ЗаписьXML, "После цикла"); + ОбработатьОчереднуюСтрокуВывода(Процесс.ПотокОшибок, ЗаписьXML, "После цикла", Истина); РезультатРаботыПроцесса = ЗаписьXML.Закрыть(); Если Не НемедленнныйВывод Тогда @@ -370,13 +387,22 @@ УстановитьВывод(РезультатРаботыПроцесса); КонецПроцедуры -Функция ОбработатьОчереднуюСтрокуВывода(ПотокПроцесса, ЗаписьXML, Знач ПрефиксДляОтладки) +Функция ОбработатьОчереднуюСтрокуВывода(ПотокПроцесса, ЗаписьXML, Знач ПрефиксДляОтладки, Знач ЭтоВыводОшибки = Ложь) Рез = ""; Если ПотокПроцесса.ЕстьДанные Тогда Рез = ПотокПроцесса.Прочитать(); КонецЕсли; Если Рез <> "" Тогда + Если ЗначениеЗаполнено(ПодключенныеЛоги) Тогда + Для каждого ПодключенныйЛог Из ПодключенныеЛоги Цикл + Если ЭтоВыводОшибки Тогда + ПодключенныйЛог.Ошибка(Рез); + Иначе + ПодключенныйЛог.Информация(Рез); + КонецЕсли; + КонецЦикла; + КонецЕсли; Лог.Отладка("в цикле %2%1", Рез, Символы.ПС); ЗаписьXML.ЗаписатьБезОбработки(Рез + Символы.ПС); @@ -433,6 +459,8 @@ ПериодОпросаВМиллисекундах = 100; НемедленнныйВывод = Ложь; + + ПодключенныеЛоги = Новый Массив; КонецПроцедуры From 6e1ce3848797899a2aa52ce85a047f15c1745777 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 10 Nov 2017 00:51:15 +0300 Subject: [PATCH 15/22] =?UTF-8?q?=D0=92=D0=B5=D1=80=D0=BD=D1=83=D0=BB=20?= =?UTF-8?q?=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D0=BE=20=D1=83=D0=B4?= =?UTF-8?q?=D0=B0=D0=BB=D0=B5=D0=BD=D0=BD=D1=8B=D0=B5=20=D1=81=D1=86=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=D1=80=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\320\260\320\275\320\264\321\213.feature" | 104 +++++++++--------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git "a/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" "b/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" index 257fdc3..ac63be7 100644 --- "a/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" +++ "b/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" @@ -11,72 +11,72 @@ И Я очищаю параметры команды "git" в контексте И Я очищаю параметры команды "oscript" в контексте -# Сценарий: Выполнение команды без параметров -# Когда Я выполняю команду "git" -# Тогда Вывод команды "git" содержит "[--version]" -# И Код возврата команды "git" равен 1 +Сценарий: Выполнение команды без параметров + Когда Я выполняю команду "git" + Тогда Вывод команды "git" содержит "[--version]" + И Код возврата команды "git" равен 1 -# Сценарий: Выполнение команды с параметрами -# Когда Я добавляю параметр "--version" для команды "git" -# И Я выполняю команду "git" -# Тогда Я сообщаю вывод команды "git" -# И Вывод команды "git" содержит "version" -# И Код возврата команды "git" равен 0 +Сценарий: Выполнение команды с параметрами + Когда Я добавляю параметр "--version" для команды "git" + И Я выполняю команду "git" + Тогда Я сообщаю вывод команды "git" + И Вывод команды "git" содержит "version" + И Код возврата команды "git" равен 0 -# Сценарий: Выполнение команды с массивом параметров -# Когда Я добавляю параметры для команды "oscript" -# | -version | -# | -encoding=utf-8 | -# И Я выполняю команду "oscript" -# Тогда я вижу в консоли строку подобно "(\d+\.){3}\d+" +Сценарий: Выполнение команды с массивом параметров + Когда Я добавляю параметры для команды "oscript" + | -version | + | -encoding=utf-8 | + И Я выполняю команду "oscript" + Тогда я вижу в консоли строку подобно "(\d+\.){3}\d+" -# Сценарий: Выполнение команды через командный процессор системы -# Когда Я выполняю команду "oscript" через командный процессор системы -# Тогда Вывод команды "oscript" содержит "1Script Execution Engine" -# И Код возврата команды "oscript" равен 0 +Сценарий: Выполнение команды через командный процессор системы + Когда Я выполняю команду "oscript" через командный процессор системы + Тогда Вывод команды "oscript" содержит "1Script Execution Engine" + И Код возврата команды "oscript" равен 0 -# Сценарий: Выполнение команды без командного процессора системы -# Когда Я выполняю команду "oscript" без командного процессора системы -# Тогда Вывод команды "oscript" содержит "1Script Execution Engine" -# И Код возврата команды "oscript" равен 0 +Сценарий: Выполнение команды без командного процессора системы + Когда Я выполняю команду "oscript" без командного процессора системы + Тогда Вывод команды "oscript" содержит "1Script Execution Engine" + И Код возврата команды "oscript" равен 0 -# Сценарий: Проверка правильного кода возврата команды -# Когда Я устанавливаю ожидаемый код возврата 0 для команды "oscript" -# Когда Я выполняю команду "oscript" -# Тогда Код возврата команды "oscript" равен 0 +Сценарий: Проверка правильного кода возврата команды + Когда Я устанавливаю ожидаемый код возврата 0 для команды "oscript" + Когда Я выполняю команду "oscript" + Тогда Код возврата команды "oscript" равен 0 -# Сценарий: Проверка неправильного кода возврата команды -# Когда Я устанавливаю ожидаемый код возврата 123 для команды "oscript" -# Тогда Я получаю исключение при выполнении команды "oscript" -# И Код возврата команды "oscript" равен 0 +Сценарий: Проверка неправильного кода возврата команды + Когда Я устанавливаю ожидаемый код возврата 123 для команды "oscript" + Тогда Я получаю исключение при выполнении команды "oscript" + И Код возврата команды "oscript" равен 0 -# Сценарий: Проверка правильного диапазона кодов возврата команды -# Когда Я устанавливаю ожидаемый диапазон кодов возврата от 0 до 10 для команды "oscript" -# Когда Я выполняю команду "oscript" -# Тогда Код возврата команды "oscript" равен 0 +Сценарий: Проверка правильного диапазона кодов возврата команды + Когда Я устанавливаю ожидаемый диапазон кодов возврата от 0 до 10 для команды "oscript" + Когда Я выполняю команду "oscript" + Тогда Код возврата команды "oscript" равен 0 -# Сценарий: Выполнение команды c установленным периодом опроса завершения команды -# Когда Я устанавливаю период опроса завершения команды "oscript" в 1 миллисекунду -# И Я выполняю команду "oscript" -# Тогда Вывод команды "oscript" содержит "1Script Execution Engine" -# И Код возврата команды "oscript" равен 0 +Сценарий: Выполнение команды c установленным периодом опроса завершения команды + Когда Я устанавливаю период опроса завершения команды "oscript" в 1 миллисекунду + И Я выполняю команду "oscript" + Тогда Вывод команды "oscript" содержит "1Script Execution Engine" + И Код возврата команды "oscript" равен 0 -# Сценарий: Выполнение команды c запретом немедленного вывода команды команды -# Когда Я снимаю флаг показа немедленного вывода команды "oscript" -# И Я выполняю команду "oscript" -# Тогда Вывод команды "oscript" содержит "1Script Execution Engine" -# И Код возврата команды "oscript" равен 0 +Сценарий: Выполнение команды c запретом немедленного вывода команды команды + Когда Я снимаю флаг показа немедленного вывода команды "oscript" + И Я выполняю команду "oscript" + Тогда Вывод команды "oscript" содержит "1Script Execution Engine" + И Код возврата команды "oscript" равен 0 -# Сценарий: Проверка неправильного диапазона кодов возврата команды -# Когда Я устанавливаю ожидаемый диапазон кодов возврата от 1 до 10 для команды "oscript" -# Тогда Я получаю исключение при выполнении команды "oscript" -# И Код возврата команды "oscript" равен 0 +Сценарий: Проверка неправильного диапазона кодов возврата команды + Когда Я устанавливаю ожидаемый диапазон кодов возврата от 1 до 10 для команды "oscript" + Тогда Я получаю исключение при выполнении команды "oscript" + И Код возврата команды "oscript" равен 0 Сценарий: Выполнение команды с выводом в отдельный лог Допустим Я снимаю флаг показа немедленного вывода команды "oscript" Допустим Я подключаю вывод команды "oscript" в лог "ТестовыйЛог" Когда Я выполняю команду "oscript" - # Тогда Вывод команды "oscript" содержит "1Script Execution Engine" - # Тогда Я сообщаю вывод команды "oscript" + Тогда Вывод команды "oscript" содержит "1Script Execution Engine" + Тогда Я сообщаю вывод команды "oscript" И Вывод команды "oscript" содержит "ФИЧА ВыполнениеКоманды" И Код возврата команды "oscript" равен 0 From 9c28ffcc1bcbd6d2366564448be935ac8a66a785 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 10 Nov 2017 00:51:35 +0300 Subject: [PATCH 16/22] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=B2=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D0=BD=D1=83?= =?UTF-8?q?=D1=8E=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/features/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" "b/features/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" index 4906388..498ad7f 100644 --- "a/features/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" +++ "b/features/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" @@ -117,7 +117,7 @@ Функция Форматировать(Знач Уровень, Знач Сообщение) Экспорт - Возврат СтрШаблон("ФИЧА ВыполнениеКоманды: %2 - %3", ТекущаяДата(), УровниЛога.НаименованиеУровня(Уровень), Сообщение); + Возврат СтрШаблон("ФИЧА ВыполнениеКоманды: %1 - %2", УровниЛога.НаименованиеУровня(Уровень), Сообщение); КонецФункции From 1d2a4a2777741abb1eff8d6bd8dd32c549057d95 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 10 Nov 2017 00:56:29 +0300 Subject: [PATCH 17/22] =?UTF-8?q?=D1=83=D0=BF=D1=80=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=B2=20=D1=81=D1=86=D0=B5=D0=BD=D0=B0=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D1=8F=D0=B5=D0=BC=D0=BE=D0=B9=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...32\320\276\320\274\320\260\320\275\320\264\321\213.feature" | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git "a/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" "b/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" index ac63be7..b099306 100644 --- "a/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" +++ "b/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" @@ -75,8 +75,9 @@ Сценарий: Выполнение команды с выводом в отдельный лог Допустим Я снимаю флаг показа немедленного вывода команды "oscript" Допустим Я подключаю вывод команды "oscript" в лог "ТестовыйЛог" + И Я добавляю параметр "-version" для команды "oscript" Когда Я выполняю команду "oscript" - Тогда Вывод команды "oscript" содержит "1Script Execution Engine" + Тогда Вывод команды "oscript" содержит "1.0" Тогда Я сообщаю вывод команды "oscript" И Вывод команды "oscript" содержит "ФИЧА ВыполнениеКоманды" И Код возврата команды "oscript" равен 0 From aa160bc925bfa68f4d4bef16ae65f2c5ffec7896 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 12 Nov 2017 17:43:35 +0300 Subject: [PATCH 18/22] =?UTF-8?q?=D0=A1=D1=86=D0=B5=D0=BD=D0=B0=D1=80?= =?UTF-8?q?=D0=B8=D0=B8=20=D1=84=D0=B8=D1=87=D0=B8=20=D0=B8=D0=B7=20#=2018?= =?UTF-8?q?=20=D0=B8=20=D1=80=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8=20=D1=84=D0=B8=D1=87=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\274\320\260\320\275\320\264\321\213.os" | 19 ++++++++ ...4\320\260\320\275\320\264\321\213.feature" | 48 +++++++++++++++++-- ...20\274\320\260\320\275\320\264\320\260.os" | 20 +++++--- 3 files changed, 77 insertions(+), 10 deletions(-) diff --git "a/features/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" "b/features/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" index 498ad7f..4e8f192 100644 --- "a/features/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" +++ "b/features/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" @@ -18,6 +18,8 @@ ВсеШаги.Добавить("ЯУстанавливаюПериодОпросаЗавершенияКомандыВМиллисекунду"); ВсеШаги.Добавить("ЯСнимаюФлагПоказаНемедленногоВыводаКоманды"); ВсеШаги.Добавить("ЯПодключаюВыводКомандыВЛог"); + ВсеШаги.Добавить("ЯПодключаюВыводВФайлДляЛога"); + ВсеШаги.Добавить("ЯУстанавливаюФлагПоказаНемедленногоВыводаКоманды"); Возврат ВсеШаги; КонецФункции @@ -90,6 +92,13 @@ Команда.ПоказыватьВыводНемедленно(Ложь); КонецПроцедуры +//Я устанавливаю флаг показа немедленного вывода команды "oscript" +Процедура ЯУстанавливаюФлагПоказаНемедленногоВыводаКоманды(Знач ИмяИлиТекстКоманды) Экспорт + Команда = ПолучитьКомандуИзКонтекста(ИмяИлиТекстКоманды); + + Команда.ПоказыватьВыводНемедленно(Истина); +КонецПроцедуры + //Я добавляю параметры для команды "oscript" //| -version | //| -encoding=utf-8 | @@ -112,6 +121,16 @@ // ВызватьИсключение Новый ИнформацияОбОшибке("Шаг <ЯПодключаюВыводКомандыВЛог> не реализован", "Не реализовано."); КонецПроцедуры +//Я подключаю вывод в файл "лог1.Log" для лога "ТестовыйЛог" +Процедура ЯПодключаюВыводВФайлДляЛога(Знач ПутьФайла, Знач ИмяЛога) Экспорт + НовыйЛог = Логирование.ПолучитьЛог(ИмяЛога); + + ФайлЖурнала = Новый ВыводЛогаВФайл; + ФайлЖурнала.ОткрытьФайл(ПутьФайла); + + НовыйЛог.ДобавитьСпособВывода(ФайлЖурнала); + +КонецПроцедуры // { Служебные функции diff --git "a/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" "b/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" index b099306..edf8e7d 100644 --- "a/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" +++ "b/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" @@ -73,11 +73,51 @@ И Код возврата команды "oscript" равен 0 Сценарий: Выполнение команды с выводом в отдельный лог - Допустим Я снимаю флаг показа немедленного вывода команды "oscript" + Допустим Я создаю временный каталог и сохраняю его в контекст + И Я устанавливаю временный каталог как рабочий каталог + И Я установил рабочий каталог как текущий каталог + Допустим Я подключаю вывод команды "oscript" в лог "ТестовыйЛог" + И Я подключаю вывод в файл "лог1.Log" для лога "ТестовыйЛог" И Я добавляю параметр "-version" для команды "oscript" + Когда Я выполняю команду "oscript" - Тогда Вывод команды "oscript" содержит "1.0" - Тогда Я сообщаю вывод команды "oscript" - И Вывод команды "oscript" содержит "ФИЧА ВыполнениеКоманды" + Тогда я не вижу в консоли строку подобно "(\d+\.){3}\d+" + Тогда я не вижу в консоли вывод "ФИЧА ВыполнениеКоманды" И Код возврата команды "oscript" равен 0 + И Файл "лог1.Log" содержит "1ФИЧА ВыполнениеКоманды" + +Сценарий: Выполнение команды с выводом в отдельные логи + Допустим Я создаю временный каталог и сохраняю его в контекст + И Я устанавливаю временный каталог как рабочий каталог + И Я установил рабочий каталог как текущий каталог + + Допустим Я подключаю вывод команды "oscript" в лог "ТестовыйЛог" + И Я подключаю вывод в файл "лог1.Log" для лога "ТестовыйЛог" + И Я подключаю вывод в файл "лог2.txt" для лога "ТестовыйЛог2" + Допустим Я подключаю вывод команды "oscript" в лог "ТестовыйЛог2" + И Я добавляю параметр "-version" для команды "oscript" + + Когда Я выполняю команду "oscript" + Тогда я не вижу в консоли строку подобно "(\d+\.){3}\d+" + Тогда я не вижу в консоли вывод "ФИЧА ВыполнениеКоманды" + И Код возврата команды "oscript" равен 0 + И Файл "лог1.Log" содержит "ФИЧА ВыполнениеКоманды" + И Файл "лог2.txt" содержит "1ФИЧА ВыполнениеКоманды" + +Сценарий: Выполнение команды с выводом в отдельный лог при включенном немедленном выводом команды + Допустим Я создаю временный каталог и сохраняю его в контекст + И Я устанавливаю временный каталог как рабочий каталог + И Я установил рабочий каталог как текущий каталог + + Допустим Я устанавливаю флаг показа немедленного вывода команды "oscript" + Допустим Я подключаю вывод команды "oscript" в лог "ТестовыйЛог" + И Я подключаю вывод в файл "лог1.Log" для лога "ТестовыйЛог" + И Я добавляю параметр "-version" для команды "oscript" + + Когда Я выполняю команду "oscript" + Тогда я не вижу в консоли строку подобно "(\d+\.){3}\d+" + Тогда я не вижу в консоли вывод "ФИЧА ВыполнениеКоманды" + И Код возврата команды "oscript" равен 0 + + И Файл "лог1.Log" содержит "1ФИЧА ВыполнениеКоманды" 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 c61d800..29b8270 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" @@ -31,7 +31,12 @@ ПроверитьВозможностьВыполненияКоманды(); - КодВозврата = ЗапуститьИПодождать(); + КодВозврата = ЗапуститьИПодождать(); + + Для каждого ПодключенныйЛог Из ПодключенныеЛоги Цикл + ПодключенныйЛог.Закрыть(); + КонецЦикла; + Лог.Отладка("Код возврата равен %1", КодВозврата); Возврат КодВозврата; @@ -394,7 +399,9 @@ КонецЕсли; Если Рез <> "" Тогда + Лог.Отладка("в цикле %2%1", Рез, Символы.ПС); Если ЗначениеЗаполнено(ПодключенныеЛоги) Тогда + Лог.Отладка(" Вывожу в отдельные логи"); Для каждого ПодключенныйЛог Из ПодключенныеЛоги Цикл Если ЭтоВыводОшибки Тогда ПодключенныйЛог.Ошибка(Рез); @@ -402,13 +409,14 @@ ПодключенныйЛог.Информация(Рез); КонецЕсли; КонецЦикла; + Иначе + ЗаписьXML.ЗаписатьБезОбработки(Рез + Символы.ПС); + + Если НемедленнныйВывод Тогда + Сообщить(Рез); + КонецЕсли; КонецЕсли; - Лог.Отладка("в цикле %2%1", Рез, Символы.ПС); - ЗаписьXML.ЗаписатьБезОбработки(Рез + Символы.ПС); - Если НемедленнныйВывод Тогда - Сообщить(Рез); - КонецЕсли; КонецЕсли; Возврат Рез; From 90ca16cca90b312ac2303e557efa0dbc90883c48 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 12 Nov 2017 17:44:01 +0300 Subject: [PATCH 19/22] =?UTF-8?q?=D0=92=D1=8B=D0=B2=D0=BE=D0=B6=D1=83=20?= =?UTF-8?q?=D0=B8=D1=82=D0=BE=D0=B3=D0=BE=D0=B2=D1=8B=D0=B5=20=D1=80=D0=B5?= =?UTF-8?q?=D0=B7=D1=83=D0=BB=D1=8C=D1=82=D0=B0=D1=82=D1=8B=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=D0=BD=D0=B0=20=D1=84=D0=B8=D1=87=20#18?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/test.os | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/test.os b/tasks/test.os index 8e7218c..5c8c4a9 100644 --- a/tasks/test.os +++ b/tasks/test.os @@ -15,7 +15,7 @@ Если РезультатыВыполнения.Строки.Количество() > 0 Тогда СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); - // ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, ФайлФичи.ЭтоКаталог()); + ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог()); КонецЕсли; ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit; From 539a78a92c767d31bfea180c9b0774b57af64780 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 12 Nov 2017 17:46:38 +0300 Subject: [PATCH 20/22] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BC=D0=B5=D0=BB=D0=BA=D1=83=D1=8E=20=D0=BE?= =?UTF-8?q?=D1=88=D0=B8=D0=B1=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...320\276\320\274\320\260\320\275\320\264\321\213.feature" | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git "a/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" "b/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" index edf8e7d..d0d5e81 100644 --- "a/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" +++ "b/features/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" @@ -85,7 +85,7 @@ Тогда я не вижу в консоли строку подобно "(\d+\.){3}\d+" Тогда я не вижу в консоли вывод "ФИЧА ВыполнениеКоманды" И Код возврата команды "oscript" равен 0 - И Файл "лог1.Log" содержит "1ФИЧА ВыполнениеКоманды" + И Файл "лог1.Log" содержит "ФИЧА ВыполнениеКоманды" Сценарий: Выполнение команды с выводом в отдельные логи Допустим Я создаю временный каталог и сохраняю его в контекст @@ -103,7 +103,7 @@ Тогда я не вижу в консоли вывод "ФИЧА ВыполнениеКоманды" И Код возврата команды "oscript" равен 0 И Файл "лог1.Log" содержит "ФИЧА ВыполнениеКоманды" - И Файл "лог2.txt" содержит "1ФИЧА ВыполнениеКоманды" + И Файл "лог2.txt" содержит "ФИЧА ВыполнениеКоманды" Сценарий: Выполнение команды с выводом в отдельный лог при включенном немедленном выводом команды Допустим Я создаю временный каталог и сохраняю его в контекст @@ -120,4 +120,4 @@ Тогда я не вижу в консоли вывод "ФИЧА ВыполнениеКоманды" И Код возврата команды "oscript" равен 0 - И Файл "лог1.Log" содержит "1ФИЧА ВыполнениеКоманды" + И Файл "лог1.Log" содержит "ФИЧА ВыполнениеКоманды" From a7e6f7320e7afc2bc003a50f854ecbf180c82c6f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 14 Nov 2017 22:08:49 +0300 Subject: [PATCH 21/22] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD=D1=82=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D0=B9=20=D0=BA=D0=BE=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...5\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" | 1 - 1 file changed, 1 deletion(-) diff --git "a/features/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" "b/features/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" index 4e8f192..12019bb 100644 --- "a/features/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" +++ "b/features/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.os" @@ -118,7 +118,6 @@ НовыйЛог = Логирование.ПолучитьЛог(ИмяЛога); НовыйЛог.УстановитьРаскладку(ЭтотОбъект); - // ВызватьИсключение Новый ИнформацияОбОшибке("Шаг <ЯПодключаюВыводКомандыВЛог> не реализован", "Не реализовано."); КонецПроцедуры //Я подключаю вывод в файл "лог1.Log" для лога "ТестовыйЛог" From 50e4374bcf6b427ad31fa6463de3efe78ff1d1d1 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 14 Nov 2017 22:17:14 +0300 Subject: [PATCH 22/22] =?UTF-8?q?=D0=A3=D0=B2=D0=B5=D0=BB=D0=B8=D1=87?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BD=D0=BE=D0=BC=D0=B5=D1=80=20=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D1=81=D0=B8=D0=B8=20=D0=A3=D0=B2=D0=B5=D0=BB=D0=B8=D1=87?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B8=D0=BC=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D1=8C=20=D0=BE=D1=82=20=D0=B4=D0=B2=D0=B8=D0=B6?= =?UTF-8?q?=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packagedef b/packagedef index 35474a7..848e66b 100644 --- a/packagedef +++ b/packagedef @@ -1,7 +1,7 @@  Описание.Имя("1commands") - .Версия("1.2.1") - .ВерсияСреды("1.0.16") + .Версия("1.3.0") + .ВерсияСреды("1.0.17") .ЗависитОт("logos") .ЗависитОт("asserts") .ЗависитОт("tempfiles") @@ -10,4 +10,5 @@ .ВключитьФайл("readme.md") .ВключитьФайл("LICENSE.md") .ВключитьФайл("NOTICE") + .ВключитьФайл("packagedef") .ВключитьФайл("lib.config");