From f343119cedd4a631892ae63e7bdbdaf8cfdf938f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 28 Dec 2016 14:28:39 +0300 Subject: [PATCH 01/13] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BD=D0=B5=D0=B4=D0=BE=D1=81=D1=82=D0=B0=D1=8E=D1=89?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=BA=D1=83=20=D0=BF=D0=B0=D0=BA?= =?UTF-8?q?=D0=B5=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packagedef b/packagedef index f645158..ee138f3 100644 --- a/packagedef +++ b/packagedef @@ -6,4 +6,9 @@ .ЗависитОт("tempfiles") .ВключитьФайл("src") .ВключитьФайл("features") + .ВключитьФайл(".vscode") + .ВключитьФайл("readme.md") + .ВключитьФайл("LICENSE.md") + .ВключитьФайл("NOTICE") + .ВключитьФайл("lib.config") .ВключитьФайл("lib.config"); From 0c6620321aba4f3dc76950cba00e6d2ed24a7741 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 28 Dec 2016 17:23:37 +0300 Subject: [PATCH 02/13] =?UTF-8?q?=D0=9D=D0=B5=20=D1=83=D1=81=D1=82=D0=B0?= =?UTF-8?q?=D0=BD=D0=B0=D0=B2=D0=BB=D0=B8=D0=B2=D0=B0=D1=8E=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=B4=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D1=83=20=D0=B2=D1=8B=D0=B2?= =?UTF-8?q?=D0=BE=D0=B4=D0=B0=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B?= =?UTF-8?q?=20=D0=BF=D0=BE=20=D1=83=D0=BC=D0=BE=D0=BB=D1=87=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8E,=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7?= =?UTF-8?q?=D1=83=D1=8E=20=D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC=D0=BD=D1=83?= =?UTF-8?q?=D1=8E=20#11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...232\320\276\320\274\320\260\320\275\320\264\320\260.os" | 7 ++++--- 1 file changed, 4 insertions(+), 3 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 eecbe9d..9d8d0e9 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" @@ -106,7 +106,8 @@ // Установить кодировку вывода для выполнения команды. // // Параметры: -// Строка - кодировка вывода +// Строка, Неопределено - кодировка вывода +// Если Неопределено, кодировка сбрасывается и используется значение по умолчанию от операционной системы // Процедура УстановитьКодировкуВывода(Знач НоваяКодировкаВывода) Экспорт КодировкаВывода = НоваяКодировкаВывода; @@ -220,7 +221,7 @@ ЗаписьXML = Новый ЗаписьXML(); ЗаписьXML.УстановитьСтроку(); - Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог, Истина, Истина, КодировкаВывода); + Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог, Истина, Истина, КодировкаВывода); Процесс.Запустить(); Пока НЕ Процесс.Завершен ИЛИ Процесс.ПотокВывода.ЕстьДанные Цикл @@ -247,7 +248,7 @@ РабочийКаталог = "."; ВыводКоманды = ""; - КодировкаВывода = КодировкаТекста.UTF8; + КодировкаВывода = Неопределено; //КодировкаТекста.UTF8; Параметры = Новый Массив; ИспользуетсяЕдинаяСтрокаЗапуска = Ложь; From e1c7a988867cb91bbcce50371f4c2e20c53ef8e5 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 28 Dec 2016 17:24:41 +0300 Subject: [PATCH 03/13] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=BE:=20=D1=84=D0=B8=D1=87=D0=B8,=20=D1=81?= =?UTF-8?q?=D0=BB=D0=B5=D0=B4=D1=83=D1=8E=D1=89=D0=B8=D0=B5=20=D0=B7=D0=B0?= =?UTF-8?q?=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D0=BC=20=D1=81=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D0=B5?= =?UTF-8?q?=D0=BC,=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=D0=B8=D0=BB=D0=B8?= =?UTF-8?q?=D1=81=D1=8C=20=D0=B2=20=D0=BD=D0=B5=D0=B2=D0=B5=D1=80=D0=BD?= =?UTF-8?q?=D0=BE=D0=B9=20=D0=BA=D0=BE=D0=B4=D0=B8=D1=80=D0=BE=D0=B2=D0=BA?= =?UTF-8?q?=D0=B5=20+=201bdd=20=D0=B2=D1=8B=D0=B4=D0=B0=D0=B2=D0=B0=D0=BB?= =?UTF-8?q?=20=D1=81=D0=B2=D0=BE=D0=B8=20=D1=80=D0=B5=D0=B7=D1=83=D0=BB?= =?UTF-8?q?=D1=8C=D1=82=D0=B0=D1=82=D1=8B=20=D0=B2=20=D0=BD=D0=B5=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D0=BD=D0=BE=D0=B9=20=D0=BA=D0=BE=D0=B4=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B5=20#11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\213\320\265\320\244\320\260\320\271\320\273\321\213.feature" | 1 + 1 file changed, 1 insertion(+) 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 ae44b51..2bf631f 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" @@ -13,6 +13,7 @@ Когда Я создаю командный файл И Я добавляю строку "chcp 1251" в командный файл И Я добавляю строку "echo командный файл" в командный файл + И Я добавляю строку "chcp 866" в командный файл И Я сообщаю содержимое командного файла И Я выполняю командный файл Тогда Вывод командного файла содержит "командный файл" From 5a0bc7119f148d1d7b1b40415e498bb5b5cee704 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 28 Dec 2016 17:25:15 +0300 Subject: [PATCH 04/13] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20UTF-8=20=D0=BF=D1=80=D0=B8=20=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D1=83=D1=81=D0=BA=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=B0=20=D0=B2=20VSC=20#11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/tasks.json | 1 + packagedef | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 317e87c..84517bf 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -3,6 +3,7 @@ "windows": { "command": "cmd", "args": ["/c"] + // "args": ["/c", "chcp 65001 >nul &"] }, "linux": { "command": "sh", diff --git a/packagedef b/packagedef index ee138f3..2eb28a5 100644 --- a/packagedef +++ b/packagedef @@ -10,5 +10,4 @@ .ВключитьФайл("readme.md") .ВключитьФайл("LICENSE.md") .ВключитьФайл("NOTICE") - .ВключитьФайл("lib.config") .ВключитьФайл("lib.config"); From 93fa5108a36349e8673863947b7530d21528509f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 28 Dec 2016 17:35:59 +0300 Subject: [PATCH 05/13] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BF=D1=80=D0=B8=20=D1=83=D1=81=D1=82=D0=B0=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B5=20=D0=BD=D0=B5=20=D0=B7=D0=B0=D0=B4?= =?UTF-8?q?=D0=B0=D0=BD=D0=BD=D0=BE=D0=B9=20=D0=BA=D0=BE=D0=B4=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B8=20#11?= 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\320\260.os" | 8 ++++++-- 1 file changed, 6 insertions(+), 2 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 9d8d0e9..0f59676 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" @@ -220,8 +220,12 @@ ЗаписьXML = Новый ЗаписьXML(); ЗаписьXML.УстановитьСтроку(); - - Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог, Истина, Истина, КодировкаВывода); + + Если КодировкаВывода = Неопределено Тогда + Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог, Истина, Истина); + Иначе + Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог, Истина, Истина, КодировкаВывода); + КонецЕсли; Процесс.Запустить(); Пока НЕ Процесс.Завершен ИЛИ Процесс.ПотокВывода.ЕстьДанные Цикл From 8eceeb3f7e9756b07b017b489ff508ce77480c12 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 28 Dec 2016 17:36:16 +0300 Subject: [PATCH 06/13] =?UTF-8?q?=D0=92=D0=B5=D1=80=D0=BD=D1=83=D0=BB=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20UTF-8=20=D0=BF=D1=80=D0=B8=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BF=D1=83=D1=81=D0=BA=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=B0=20=D0=B2=20VSC=20?= =?UTF-8?q?#11=20:)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/tasks.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 84517bf..2634640 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -2,8 +2,8 @@ "version": "0.1.0", "windows": { "command": "cmd", - "args": ["/c"] - // "args": ["/c", "chcp 65001 >nul &"] + // "args": ["/c"] + "args": ["/c", "chcp 65001 >nul &"] }, "linux": { "command": "sh", @@ -39,7 +39,7 @@ "args": [ "1testrunner", "-run", - "${file}", + "${file}" ], "echoCommand": true, "showOutput": "always", From 53b67b500a8d61f34db44913dec3b43725278747 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 29 Dec 2016 16:09:29 +0300 Subject: [PATCH 07/13] =?UTF-8?q?CI=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20app?= =?UTF-8?q?veyor=20#12?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + appveyor-runtests.cmd | 24 ++++++++++++++ appveyor.yml | 73 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 98 insertions(+) create mode 100644 .gitignore create mode 100644 appveyor-runtests.cmd create mode 100644 appveyor.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f59923e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +exec.log diff --git a/appveyor-runtests.cmd b/appveyor-runtests.cmd new file mode 100644 index 0000000..2887ea0 --- /dev/null +++ b/appveyor-runtests.cmd @@ -0,0 +1,24 @@ +@echo on +@chcp 65001 + +set OSCRIPT=%ProgramFiles(x86)%\OneScript + +@echo . +@echo ======================= ======================= ======================= ======================= +@echo . +@echo . + +call 1bdd features -junit-out ./bdd-log.xml + +@if %ERRORLEVEL%==2 GOTO good_exit_bdd +@if %ERRORLEVEL%==0 GOTO good_exit_bdd + +dir .\tests\ + +exit /B 1 + +:good_exit_bdd + +dir .\tests\ + +exit /B 0 diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..1ea2325 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,73 @@ +version: 1.2.{build} +pull_requests: + do_not_increment_build_number: true +max_jobs: 1 +init: +- ps: Set-WinSystemLocale ru-RU + +# appveyor DownloadFile http://oscript.io/downloads/latest/exe -FileName ./oscriptlatest.exe +# dir /w +# oscriptlatest.exe /VERYSILENT /DIR=".\engine\" +# SET PATH=%CD%\engine\bin;%PATH% +# oscript + +install: +- cmd: >- + @echo on + + git submodule update --init --recursive + + set + + curl -o %temp%\oscript-setup.exe http://oscript.io/downloads/latest/exe + + %temp%\oscript-setup.exe /silent /log="%temp%\oscript-setup.log" /saveinf="%temp%\oscript-setup-settings.txt" + + set OSCRIPT=%ProgramFiles(x86)%\OneScript + + dir "%OSCRIPT%\bin" + dir "%OSCRIPT%\lib" + + rem SET PATH=%CD%\engine\bin;%PATH% + + SET PATH=%OSCRIPT%\bin;%PATH% + + where oscript + + oscript -version + + chcp 65001 + + opm install opm + + opm list + + opm install 1testrunner + + opm install 1commands + + opm install 1bdd + + opm list + + dir "%OSCRIPT%\bin" + dir "%OSCRIPT%\lib" + +# to disable automatic builds +build: off +test_script: +- cmd: >- + + appveyor-runtests.cmd + + pushd %APPVEYOR_BUILD_FOLDER% + +after_test: +- ps: # upload results to AppVeyor +- ps: Write-Host "Загружаю результаты тестов на CI" +- ps: $wc = New-Object 'System.Net.WebClient' +# - ps: $wc.UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\tests\tests.xml)) +- ps: $wc.UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\bdd-log.xml)) +artifacts: +# - path: tests\tests.xml +- path: .\bdd-log.xml \ No newline at end of file From 32893fc86ba0cc3cf448ce67102ece8414b51c74 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 29 Dec 2016 16:13:04 +0300 Subject: [PATCH 08/13] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20build=20badge=20=D0=BE=D1=82=20appveyor=20#12?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 38368d5..5a5d9ce 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +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) ## Библиотека для упрощения работы c запуском различных приложений и командных файлов (cmd, bat, bash) из oscript. From 71d1d5240ac1001e433558a31bbaac3733cd40cb Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 16 Jan 2017 23:51:24 +0300 Subject: [PATCH 09/13] =?UTF-8?q?=D0=92=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4?= =?UTF-8?q?=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20=D0=BA=D0=BE=D0=BC=D0=B0?= =?UTF-8?q?=D0=BD=D0=B4=D0=BD=D1=8B=D0=B9=20=D0=BF=D1=80=D0=BE=D1=86=D0=B5?= =?UTF-8?q?=D1=81=D1=81=D0=BE=D1=80=20=D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC?= =?UTF-8?q?=D1=8B=20=D0=BF=D0=BE=20=D1=83=D0=BC=D0=BE=D0=BB=D1=87=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8E=20fix=20#13=20=D0=9C=D0=B5=D1=82=D0=BE=D0=B4?= =?UTF-8?q?=20"=D0=A3=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=D0=98=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=D0=A7=D0=B5=D1=80=D0=B5=D0=B7=D0=9A=D0=BE=D0=BC=D0=B0?= =?UTF-8?q?=D0=BD=D0=B4=D1=8B=D0=A1=D0=B8=D1=81=D1=82=D0=B5=D0=BC=D1=8B(?= =?UTF-8?q?=D0=98=D1=81=D1=82=D0=B8=D0=BD=D0=B0/=D0=9B=D0=BE=D0=B6=D1=8C)"?= =?UTF-8?q?=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D0=B0=20=D0=9A=D0=BE?= =?UTF-8?q?=D0=BC=D0=B0=D0=BD=D0=B4=D0=B0?= 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" | 70 +++++++++++++++++++ ...4\320\260\320\275\320\264\321\213.feature" | 12 +++- ...20\274\320\260\320\275\320\264\320\260.os" | 21 ++++++ 3 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 "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" 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" new file mode 100644 index 0000000..6113455 --- /dev/null +++ "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" @@ -0,0 +1,70 @@ +// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd +#Использовать "../.." + +Перем БДД; //контекст фреймворка 1bdd + +// Метод выдает список шагов, реализованных в данном файле-шагов +Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт + БДД = КонтекстФреймворкаBDD; + + ВсеШаги = Новый Массив; + + ВсеШаги.Добавить("ЯВыполняюКомандуЧерезКомандныйПроцессорСистемы"); + ВсеШаги.Добавить("ЯВыполняюКомандуБезКомандногоПроцессораСистемы"); + + Возврат ВсеШаги; +КонецФункции + +// Реализация шагов + +// Процедура выполняется перед запуском каждого сценария +Процедура ПередЗапускомСценария(Знач Узел) Экспорт + +КонецПроцедуры + +// Процедура выполняется после завершения каждого сценария +Процедура ПослеЗапускаСценария(Знач Узел) Экспорт + +КонецПроцедуры + +// TODO перенести методы (2 шт) в 1bdd для исключения дублирования + +//Я выполняю команду "oscript" через командный процессор системы +Процедура ЯВыполняюКомандуЧерезКомандныйПроцессорСистемы(Знач ИмяИлиТекстКоманды) Экспорт + ВыполнитьКоманду(ИмяИлиТекстКоманды, Истина); +КонецПроцедуры + +//Я выполняю команду "oscript" без командного процессора системы +Процедура ЯВыполняюКомандуБезКомандногоПроцессораСистемы(Знач ИмяИлиТекстКоманды) Экспорт + ВыполнитьКоманду(ИмяИлиТекстКоманды, Ложь); +КонецПроцедуры + +// { Служебные функции + +Процедура ВыполнитьКоманду(Знач ИмяИлиТекстКоманды, Знач ИспользуемКомандныйПроцессор) + Команда = ПолучитьКомандуИзКонтекста(ИмяИлиТекстКоманды); + Команда.УстановитьИсполнениеЧерезКомандыСистемы(ИспользуемКомандныйПроцессор); + + Команда.Исполнить(); +КонецПроцедуры + +//TODO дубль кода с 1bdd::ВыполнениеКоманд.os +Функция ПолучитьКомандуИзКонтекста(Знач ИмяКоманды) + + КлючКонтекста = КлючКоманды(ИмяКоманды); + Команда = БДД.ПолучитьИзКонтекста(КлючКонтекста); + + Если Не ЗначениеЗаполнено(Команда) Тогда + Команда = Новый Команда; + Команда.УстановитьКоманду(ИмяКоманды); + БДД.СохранитьВКонтекст(КлючКонтекста, Команда); + КонецЕсли; + + Возврат Команда; +КонецФункции + +Функция КлючКоманды(Знач ИмяКоманды) + Возврат "Команда-" + ИмяКоманды; +КонецФункции + +//} 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 41d5205..dcf0db2 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" @@ -7,7 +7,7 @@ Чтобы я мог проще автоматизировать больше действий на OneScript Контекст: Отключение отладки в логах - Допустим Я выключаю отладку лога с именем "oscript.lib.commands" + Допустим Я включаю отладку лога с именем "oscript.lib.commands" Сценарий: Выполнение команды без параметров Когда Я выполняю команду "git" @@ -20,3 +20,13 @@ Тогда Я сообщаю вывод команды "git" И Вывод команды "git" содержит "version" И Код возврата команды "git" равен 0 + +Сценарий: Выполнение команды через командный процессор системы + Когда Я выполняю команду "oscript" через командный процессор системы + Тогда Вывод команды "oscript" содержит "1Script Execution Engine" + И Код возврата команды "oscript" равен 0 + +Сценарий: Выполнение команды без командного процессора системы + Когда Я выполняю команду "oscript" без командного процессора системы + Тогда Вывод команды "oscript" содержит "1Script Execution Engine" + И Код возврата команды "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 0f59676..e6cf9d0 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" @@ -11,6 +11,7 @@ Перем ВыводКоманды; Перем КодировкаВывода; Перем КодВозврата; +Перем ИспользуемКомандныйПроцессор; Перем ЭтоWindows; Перем Лог; @@ -140,6 +141,15 @@ Возврат РабочийКаталог; КонецФункции +// <Описание процедуры> +// +// Параметры: +// ИспользуемКомандныйПроцессор - <Тип.Вид> - <описание параметра> +// +Процедура УстановитьИсполнениеЧерезКомандыСистемы(Знач ПарамИспользуемКомандныйПроцессор) Экспорт + ИспользуемКомандныйПроцессор = ПарамИспользуемКомандныйПроцессор; +КонецПроцедуры + // Оборачивает переданную строку в кавычки, если она еще не обернута. // // Параметры: @@ -217,6 +227,16 @@ // Иначе СтрокаЗапуска = ПутьПриложения + СтрокаЗапуска; // КонецЕсли; + + Если ИспользуемКомандныйПроцессор Тогда + Если ЭтоWindows Тогда + ШаблонЗапуска = "cmd /c %1"; + Иначе + ШаблонЗапуска = "sh -c '%1'"; + КонецЕсли; + + СтрокаЗапуска = СтрШаблон(ШаблонЗапуска, СтрокаЗапуска); + КонецЕсли; ЗаписьXML = Новый ЗаписьXML(); ЗаписьXML.УстановитьСтроку(); @@ -256,6 +276,7 @@ Параметры = Новый Массив; ИспользуетсяЕдинаяСтрокаЗапуска = Ложь; + ИспользуемКомандныйПроцессор = Истина; КонецПроцедуры From 616f425ca4fbb570dc302504e7c28714cb0d5c71 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 17 Jan 2017 00:19:25 +0300 Subject: [PATCH 10/13] =?UTF-8?q?=D0=A0=D0=B5=D0=B6=D0=B8=D0=BC=20=D1=81?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=D1=8C=D0=BD=D1=8B=D0=BC?= =?UTF-8?q?=D0=B8=20=D0=BA=D0=BE=D0=B4=D0=BE=D0=BC=20=D0=B2=D0=BE=D0=B7?= =?UTF-8?q?=D0=B2=D1=80=D0=B0=D1=82=D0=B0=20=D0=B8=20=D0=BD=D0=B5=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=D1=8C=D0=BD=D1=8B=D0=BC=D0=B8=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=B4=D0=B0=D0=BC=D0=B8=20=D0=B2=D0=BE=D0=B7=D0=B2?= =?UTF-8?q?=D1=80=D0=B0=D1=82=D0=B0.=20#=206?= 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" | 23 +++++++++++++- ...4\320\260\320\275\320\264\321\213.feature" | 10 +++++++ ...20\274\320\260\320\275\320\264\320\260.os" | 30 +++++++++++++++++-- 3 files changed, 59 insertions(+), 4 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 6113455..684fe26 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" @@ -11,6 +11,8 @@ ВсеШаги.Добавить("ЯВыполняюКомандуЧерезКомандныйПроцессорСистемы"); ВсеШаги.Добавить("ЯВыполняюКомандуБезКомандногоПроцессораСистемы"); + ВсеШаги.Добавить("ЯУстанавливаюОжидаемыйКодВозвратаДляКоманды"); + ВсеШаги.Добавить("ЯПолучаюИсключениеПриВыполненииКоманды"); Возврат ВсеШаги; КонецФункции @@ -39,9 +41,28 @@ ВыполнитьКоманду(ИмяИлиТекстКоманды, Ложь); КонецПроцедуры +//Я устанавливаю ожидаемый код возврата 0 для команды "oscript" +Процедура ЯУстанавливаюОжидаемыйКодВозвратаДляКоманды(Знач ОжидаемыйКодВозврата, Знач ИмяИлиТекстКоманды) Экспорт + Команда = ПолучитьКомандуИзКонтекста(ИмяИлиТекстКоманды); + + Команда.УстановитьПравильныйКодВозврата(ОжидаемыйКодВозврата); +КонецПроцедуры + +//Я получаю исключение при выполнении команды "oscript" +Процедура ЯПолучаюИсключениеПриВыполненииКоманды(Знач ИмяИлиТекстКоманды) Экспорт + Попытка + ВыполнитьКоманду(ИмяИлиТекстКоманды, Истина); + Исключение + Возврат; + КонецПопытки; + + ВызватьИсключение СтрШаблон("Не получили исключение при выполнении команды", ИмяИлиТекстКоманды); +КонецПроцедуры + + // { Служебные функции -Процедура ВыполнитьКоманду(Знач ИмяИлиТекстКоманды, Знач ИспользуемКомандныйПроцессор) +Процедура ВыполнитьКоманду(Знач ИмяИлиТекстКоманды, Знач ИспользуемКомандныйПроцессор = Истина) Команда = ПолучитьКомандуИзКонтекста(ИмяИлиТекстКоманды); Команда.УстановитьИсполнениеЧерезКомандыСистемы(ИспользуемКомандныйПроцессор); 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 dcf0db2..e54dd05 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" @@ -30,3 +30,13 @@ Когда Я выполняю команду "oscript" без командного процессора системы Тогда Вывод команды "oscript" содержит "1Script Execution Engine" И Код возврата команды "oscript" равен 0 + +Сценарий: Проверка правильного кода возврата команды + Когда Я устанавливаю ожидаемый код возврата 0 для команды "oscript" + Когда Я выполняю команду "oscript" + Тогда Код возврата команды "oscript" равен 0 + +Сценарий: Проверка неправильного кода возврата команды + Когда Я устанавливаю ожидаемый код возврата 123 для команды "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 e6cf9d0..80b38b3 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" @@ -12,6 +12,8 @@ Перем КодировкаВывода; Перем КодВозврата; Перем ИспользуемКомандныйПроцессор; +Перем ПроверяемКодВозврата; +Перем ОжидаемыйКодВозврата; Перем ЭтоWindows; Перем Лог; @@ -104,6 +106,17 @@ Возврат КодВозврата; КонецФункции +// Установить ожидаемый код возврата +// После исполнения команды будет выброшено исключение, если полученный код возврата не совпадает с ожидаемым +// +// Параметры: +// ОжидаемыйКодВозврата - Число +// +Процедура УстановитьПравильныйКодВозврата(Знач ПарамОжидаемыйКодВозврата) Экспорт + ПроверяемКодВозврата = Истина; + ОжидаемыйКодВозврата = ПарамОжидаемыйКодВозврата; +КонецПроцедуры + // Установить кодировку вывода для выполнения команды. // // Параметры: @@ -141,10 +154,11 @@ Возврат РабочийКаталог; КонецФункции -// <Описание процедуры> +// Установить признак исполнения через командный процессор системы. +// По умолчанию он включен. // // Параметры: -// ИспользуемКомандныйПроцессор - <Тип.Вид> - <описание параметра> +// ИспользуемКомандныйПроцессор - Булево - Включить/Выключить использование командного процессора системы. // Процедура УстановитьИсполнениеЧерезКомандыСистемы(Знач ПарамИспользуемКомандныйПроцессор) Экспорт ИспользуемКомандныйПроцессор = ПарамИспользуемКомандныйПроцессор; @@ -255,7 +269,14 @@ РезультатРаботыПроцесса = ЗаписьXML.Закрыть(); УстановитьВывод(РезультатРаботыПроцесса); - + + КодВозврата = Процесс.КодВозврата; + Если ПроверяемКодВозврата И КодВозврата <> ОжидаемыйКодВозврата Тогда + ТекстОшибки = СтрШаблон("Ожидали, что код возврата <%1> команды <%2> совпадет с ожидаемым <%3>, а это не так", + КодВозврата, Приложение, ОжидаемыйКодВозврата); + Ожидаем.Что(КодВозврата, ТекстОшибки).Равно(ОжидаемыйКодВозврата); + КонецЕсли; + Возврат Процесс.КодВозврата; КонецФункции @@ -277,6 +298,9 @@ ИспользуетсяЕдинаяСтрокаЗапуска = Ложь; ИспользуемКомандныйПроцессор = Истина; + + ПроверяемКодВозврата = Ложь; + ОжидаемыйКодВозврата = 0; КонецПроцедуры From 25938c1b655b058e4126f231234e480539ba372f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 17 Jan 2017 00:40:41 +0300 Subject: [PATCH 11/13] =?UTF-8?q?=D0=A0=D0=B5=D0=B6=D0=B8=D0=BC=20=D1=81?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=D1=8C=D0=BD=D1=8B=D0=BC?= =?UTF-8?q?=D0=B8=20=D0=B4=D0=B8=D0=B0=D0=BF=D0=B0=D0=B7=D0=BE=D0=BD=D0=BE?= =?UTF-8?q?=D0=BC=20=D0=BA=D0=BE=D0=B4=D0=BE=D0=B2=20=D0=B2=D0=BE=D0=B7?= =?UTF-8?q?=D0=B2=D1=80=D0=B0=D1=82=D0=B0=20fix=20#6?= 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" | 12 ++++++ ...4\320\260\320\275\320\264\321\213.feature" | 10 +++++ ...20\274\320\260\320\275\320\264\320\260.os" | 38 +++++++++++++++---- 3 files changed, 53 insertions(+), 7 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 684fe26..afe591f 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" @@ -13,6 +13,7 @@ ВсеШаги.Добавить("ЯВыполняюКомандуБезКомандногоПроцессораСистемы"); ВсеШаги.Добавить("ЯУстанавливаюОжидаемыйКодВозвратаДляКоманды"); ВсеШаги.Добавить("ЯПолучаюИсключениеПриВыполненииКоманды"); + ВсеШаги.Добавить("ЯУстанавливаюОжидаемыйДиапазонКодовВозвратаОтДоДляКоманды"); Возврат ВсеШаги; КонецФункции @@ -48,6 +49,17 @@ Команда.УстановитьПравильныйКодВозврата(ОжидаемыйКодВозврата); КонецПроцедуры +//Я устанавливаю ожидаемый диапазон кодов возврата от 0 до 10 для команды "oscript" +Процедура ЯУстанавливаюОжидаемыйДиапазонКодовВозвратаОтДоДляКоманды(Знач МинимальныйОжидаемыйКодВозврата, + Знач МаксимальныйОжидаемыйКодВозврата, Знач ИмяИлиТекстКоманды) Экспорт + + Команда = ПолучитьКомандуИзКонтекста(ИмяИлиТекстКоманды); + + Команда.УстановитьДиапазонПравильныхКодовВозврата( + МинимальныйОжидаемыйКодВозврата, + МаксимальныйОжидаемыйКодВозврата); +КонецПроцедуры + //Я получаю исключение при выполнении команды "oscript" Процедура ЯПолучаюИсключениеПриВыполненииКоманды(Знач ИмяИлиТекстКоманды) Экспорт Попытка 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 e54dd05..092531c 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" @@ -40,3 +40,13 @@ Когда Я устанавливаю ожидаемый код возврата 123 для команды "oscript" Тогда Я получаю исключение при выполнении команды "oscript" И Код возврата команды "oscript" равен 0 + +Сценарий: Проверка правильного диапазона кодов возврата команды + Когда Я устанавливаю ожидаемый диапазон кодов возврата от 0 до 10 для команды "oscript" + Когда Я выполняю команду "oscript" + Тогда Код возврата команды "oscript" равен 0 + +Сценарий: Проверка неправильного диапазона кодов возврата команды + Когда Я устанавливаю ожидаемый диапазон кодов возврата от 1 до 10 для команды "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 80b38b3..9f0bd3c 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" @@ -13,7 +13,8 @@ Перем КодВозврата; Перем ИспользуемКомандныйПроцессор; Перем ПроверяемКодВозврата; -Перем ОжидаемыйКодВозврата; +Перем МинимальныйОжидаемыйКодВозврата; +Перем МаксимальныйОжидаемыйКодВозврата; Перем ЭтоWindows; Перем Лог; @@ -113,8 +114,23 @@ // ОжидаемыйКодВозврата - Число // Процедура УстановитьПравильныйКодВозврата(Знач ПарамОжидаемыйКодВозврата) Экспорт + УстановитьДиапазонПравильныхКодовВозврата(ПарамОжидаемыйКодВозврата, ПарамОжидаемыйКодВозврата); +КонецПроцедуры + +// Установить диапазон ожидаемых кодов возврата +// После исполнения команды будет выброшено исключение, если полученный код возврата не попадает в указанный диапазон +// +// Параметры: +// МинимальныйОжидаемыйКодВозврата - Число +// МаксимальныйОжидаемыйКодВозврата - Число +// +Процедура УстановитьДиапазонПравильныхКодовВозврата( Знач ПарамМинимальныйОжидаемыйКодВозврата, + Знач ПарамМаксимальныйОжидаемыйКодВозврата) Экспорт + ПроверяемКодВозврата = Истина; - ОжидаемыйКодВозврата = ПарамОжидаемыйКодВозврата; + МинимальныйОжидаемыйКодВозврата = ПарамМинимальныйОжидаемыйКодВозврата; + МаксимальныйОжидаемыйКодВозврата = ПарамМаксимальныйОжидаемыйКодВозврата; + КонецПроцедуры // Установить кодировку вывода для выполнения команды. @@ -163,7 +179,6 @@ Процедура УстановитьИсполнениеЧерезКомандыСистемы(Знач ПарамИспользуемКомандныйПроцессор) Экспорт ИспользуемКомандныйПроцессор = ПарамИспользуемКомандныйПроцессор; КонецПроцедуры - // Оборачивает переданную строку в кавычки, если она еще не обернута. // // Параметры: @@ -271,10 +286,19 @@ УстановитьВывод(РезультатРаботыПроцесса); КодВозврата = Процесс.КодВозврата; - Если ПроверяемКодВозврата И КодВозврата <> ОжидаемыйКодВозврата Тогда - ТекстОшибки = СтрШаблон("Ожидали, что код возврата <%1> команды <%2> совпадет с ожидаемым <%3>, а это не так", - КодВозврата, Приложение, ОжидаемыйКодВозврата); - Ожидаем.Что(КодВозврата, ТекстОшибки).Равно(ОжидаемыйКодВозврата); + Если ПроверяемКодВозврата Тогда + Если КодВозврата < МинимальныйОжидаемыйКодВозврата или КодВозврата > МаксимальныйОжидаемыйКодВозврата Тогда + Если МинимальныйОжидаемыйКодВозврата <> МаксимальныйОжидаемыйКодВозврата Тогда + ТекстОшибки = СтрШаблон("Ожидали, что код возврата <%1> команды <%2> совпадет с ожидаемым диапазоном <%3>-<%4>, а это не так", + КодВозврата, Приложение, МинимальныйОжидаемыйКодВозврата, МаксимальныйОжидаемыйКодВозврата); + Иначе + ТекстОшибки = СтрШаблон("Ожидали, что код возврата <%1> команды <%2> совпадет с ожидаемым <%3>, а это не так", + КодВозврата, Приложение, МинимальныйОжидаемыйКодВозврата); + КонецЕсли; + Ожидаем.Что(КодВозврата, ТекстОшибки). + БольшеИлиРавно(МинимальныйОжидаемыйКодВозврата). + МеньшеИлиРавно(МаксимальныйОжидаемыйКодВозврата); + КонецЕсли; КонецЕсли; Возврат Процесс.КодВозврата; From 10442c53fd06322caee1d94a9d58b0a2924924ac Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 21 Jan 2017 13:48:08 +0300 Subject: [PATCH 12/13] =?UTF-8?q?=D0=A1=D1=80=D0=B0=D0=B7=D1=83=20=D0=BF?= =?UTF-8?q?=D0=B8=D1=88=D0=B5=D0=BC=20=D0=B2=20=D0=BB=D0=BE=D0=B3=20=D0=B2?= =?UTF-8?q?=D1=8B=D0=B2=D0=BE=D0=B4=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4?= =?UTF-8?q?=D1=8B,=20=D0=B0=20=D0=BD=D0=B5=20=D0=BF=D0=BE=D1=81=D0=BB?= =?UTF-8?q?=D0=B5=20=D0=BF=D0=BE=D0=BB=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=B2?= =?UTF-8?q?=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B=20#16?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\274\320\260\320\275\320\264\320\260.os" | 24 ++++++++++++------- ...20\271\320\244\320\260\320\271\320\273.os" | 11 ++++++++- 2 files changed, 26 insertions(+), 9 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 9f0bd3c..a5ea98a 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" @@ -34,6 +34,15 @@ КонецФункции +// Получить имя лога продукта +// +// Возвращаемое значение: +// Строка - имя лога продукта +// +Функция ИмяЛога() Экспорт + Возврат "oscript.lib.commands"; +КонецФункции + // Установить путь команды. // Если в пути команды есть пробелы, они обрамляются кавычками // ВАЖНО: метод принимает именно путь к приложению, @@ -179,6 +188,7 @@ Процедура УстановитьИсполнениеЧерезКомандыСистемы(Знач ПарамИспользуемКомандныйПроцессор) Экспорт ИспользуемКомандныйПроцессор = ПарамИспользуемКомандныйПроцессор; КонецПроцедуры + // Оборачивает переданную строку в кавычки, если она еще не обернута. // // Параметры: @@ -245,17 +255,12 @@ КонецЦикла; - // Приложение = ПутьПриложения; Если НЕ ИспользуетсяЕдинаяСтрокаЗапуска И Найти(ПутьПриложения, " ") > 0 Тогда ПутьПриложения = ОбернутьВКавычки(ПутьПриложения); КонецЕсли; Лог.Отладка("СтрокаЗапуска <%1>", ПутьПриложения + СтрокаДляЛога); - // Если ЭтоWindows = Ложь Тогда - // СтрокаЗапуска = "sh -c '" + ПутьПриложения + СтрокаЗапуска + "'"; - // Иначе - СтрокаЗапуска = ПутьПриложения + СтрокаЗапуска; - // КонецЕсли; + СтрокаЗапуска = ПутьПриложения + СтрокаЗапуска; Если ИспользуемКомандныйПроцессор Тогда Если ЭтоWindows Тогда @@ -278,7 +283,10 @@ Процесс.Запустить(); Пока НЕ Процесс.Завершен ИЛИ Процесс.ПотокВывода.ЕстьДанные Цикл - СтрокаВывода = "" + Процесс.ПотокВывода.ПрочитатьСтроку() + Символы.ПС; + ОчереднаяСтрокаВывода = Процесс.ПотокВывода.ПрочитатьСтроку(); + Лог.Отладка(" %1", ОчереднаяСтрокаВывода); + + СтрокаВывода = "" + ОчереднаяСтрокаВывода + Символы.ПС; ЗаписьXML.ЗаписатьБезОбработки(СтрокаВывода); КонецЦикла; @@ -310,7 +318,7 @@ // Процедура Инициализация() - Лог = Логирование.ПолучитьЛог("oscript.lib.commands"); + Лог = Логирование.ПолучитьЛог(ИмяЛога()); СистемнаяИнформация = Новый СистемнаяИнформация; ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; 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 4a6189e..43428ac 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,15 @@ Перем ЭтоWindows; Перем Лог; +// Получить имя лога продукта +// +// Возвращаемое значение: +// Строка - имя лога продукта +// +Функция ИмяЛога() Экспорт + Возврат "oscript.lib.commands"; +КонецФункции + // Получить путь командного файла // // Возвращаемое значение: @@ -168,7 +177,7 @@ // Процедура Инициализация() - Лог = Логирование.ПолучитьЛог("oscript.lib.commands"); + Лог = Логирование.ПолучитьЛог(ИмяЛога()); СистемнаяИнформация = Новый СистемнаяИнформация; ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; From dd68f22e99f3ec8cf554ad967fb8f40ddc0b6cb8 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 21 Jan 2017 13:58:57 +0300 Subject: [PATCH 13/13] =?UTF-8?q?=D0=92=D0=B5=D1=80=D1=81=D0=B8=D1=8F=200.?= =?UTF-8?q?8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packagedef b/packagedef index 2eb28a5..b883086 100644 --- a/packagedef +++ b/packagedef @@ -1,6 +1,6 @@  Описание.Имя("1commands") - .Версия("0.7") + .Версия("0.8") .ЗависитОт("logos") .ЗависитОт("asserts") .ЗависитОт("tempfiles")