diff --git a/.bsl-language.server.json b/.bsl-language.server.json new file mode 100644 index 00000000..1c3e3d51 --- /dev/null +++ b/.bsl-language.server.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://1c-syntax.github.io/bsl-language-server/configuration/schema.json", + "diagnostics": { + "parameters": { + "Typo": { + "minWordLength": 3, + "userWordsToIgnore": "Гитсинк" + } + } + } + } diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..fc1feff9 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,6 @@ +*.sh eol=lf +*.md eol=lf +*.yml eol=lf +*.yaml eol=lf + +*.bat eol=crlf \ No newline at end of file diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 535141d4..0df418bc 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -41,7 +41,7 @@ Соответственно, помимо задач, можно использовать концепцию * git-flow - коллективная разработка с помощью github -* pull-request - для черновиков функционала используется каталог ```.\features\drafts``` +* pull-request - для черновиков функционала используется каталог `.\features\drafts` ### Процесс коллективной разработки @@ -63,30 +63,28 @@ * т.е. `git, oscript, opm` вызываются без указания полного пути в коммандной строке. * сделайте `fork` репозитория -* склонируйте репозитарий себе на машину ```git clone https://github.com/*ТУТИМЯВАШЕГОПОЛЬЗОВАТЕЛЯ*/gitsync.git ``` +* склонируйте репозиторий себе на машину `git clone https://github.com/*ТУТИМЯВАШЕГОПОЛЬЗОВАТЕЛЯ*/gitsync.git` * переходим в склонированный каталог через `cd gitsync` и выполняем несколько магических комманд -``` + +```shell git remote add upstream https://github.com/oscript-library/gitsync.git git fetch upstream git checkout -b develop upstream/develop -git pull upstream develop ``` -* Далее нужно установить необходимые зависимости: - * в консоли от имени администратора перейти в папку `gitsync` и запустить `opm install`. - * Результатом будет установленные пакеты, необходимые для работы скриптов. - * Этот шаг необходимо сделать всего 1 раз. -> ВНИМАНИЕ: команды `opm` необходимо выполнять в обычном виндовом `cmd\far` , но не в bash-консоли, т.к. не сможет найти команду `opm` +Далее нужно установить необходимые зависимости: +в консоли от имени администратора перейти в папку `gitsync` и запустить `opm install`. Результатом будет установленные пакеты, необходимые для работы скриптов. +Этот шаг необходимо сделать всего 1 раз. + #### Штатная разработка/доработка ##### Выбор задачи и предварительная подготовка * реализуйте функционал или возьмите в работу какую-то задачу - -* На основании ветки develop создаем новую ветку с номером задачи или кратким описанием - * Например, `feature/issue-9999` -``` +* на основании ветки develop создаем новую ветку с номером задачи или кратким описанием, например, `feature/issue-9999` + +```shell git checkout -b feature/issue-9999 ``` @@ -98,33 +96,16 @@ git checkout -b feature/issue-9999 * в каталоге ./src реализуйте требуемый функционал * или прогоните тесты `opm run test` -* **При готовности зафиксировать изменения** +* **При готовности зафиксировать изменения** * В гите проверить необходимые изменения в исходниках и зафиксировать только их. - -Команды для программного добавления необходимых файлов в git - - * Смотрим, какие файлы изменились - `git status` - -``` - Изменения, которые не в индексе для коммита: - (используйте «git add <файл>…», чтобы добавить файл в индекс) - (используйте «git checkout -- <файл>…», чтобы отменить изменения - в рабочем каталоге) - - изменено: src/cmd/ПараметрыПриложения.os - - нет изменений добавленных для коммита - (используйте «git add» и/или «git commit -a») -``` +* Смотрим, какие файлы изменились - `git status` ##### Отправка изменений - * Добавляем необходимые файлы в индекс - * `git add src/cmd/ПараметрыПриложения.os ` - * Фиксируем изменения с комментарием `git commit -m "Наш комментарий!"` - -* Отправляем все изменения своей ветки на github ```git push origin feature/issue-9999``` +* Добавляем необходимые файлы в индекс `git add src/cmd/ПараметрыПриложения.os` +* Фиксируем изменения с комментарием `git commit -m "Наш комментарий!"` +* Отправляем все изменения своей ветки на github `git push origin feature/issue-9999` * Далее формируем `pull-request` в [интерфейсе github](https://github.com/oscript-library/gitsync/pulls) ### Участие в архитектурных обсуждениях @@ -136,8 +117,8 @@ git checkout -b feature/issue-9999 * участвуйте, обосновывайте, приводите примеры * используйте ТРИЗ для построения непротиворечивых решений -# Если ничего не понятно +## Если ничего не понятно * используйте [Telegram](https://t.me/oscript_library) для того, чтобы задать вопрос -```(c) oscript-library - последнее обновление: 26.08.2021``` +`(c) oscript-library - последнее обновление: 14.12.2025` diff --git a/.gitignore b/.gitignore index ef87b79e..a05abe9b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,9 @@ -bin/*.exe -tests/*.xml +build/ -exec*.log +tests.xml -bdd-*.xml +bin/*.exe +exec*.log .enabled-plugins coverage/* @@ -18,6 +18,3 @@ src/cmd/oscript.cfg *.cfl *.1CL 1cv8dtmp.1CD -# tests/fixtures/extension_storage/data/ -# tests/fixtures/extension_storage/cache/ -# tests/fixtures/extension_storage/ver diff --git a/.vscode/launch.json b/.vscode/launch.json index 7f0c72af..3cbf22d2 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -12,8 +12,7 @@ "args": [], "cwd": "${workspaceRoot}", "runtimeExecutable": "/usr/bin/oscript", - "debugPort": 2801, - "protocol": "internal" + "debugPort": 2801 } ] } \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 7eec956d..bdd63853 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -1,29 +1,23 @@ { "version": "2.0.0", - "_runner": "terminal", - "windows": { - "command": "cmd", - "args": ["/c", "chcp 65001 ;"] - }, - "linux": { - "command": "sh", - "args": ["-c"] - }, - "isShellCommand": true, - "showOutput": "silent", "tasks": [ { - "taskName": "Testing project (opm test)", + "label": "Testing project (opm test)", + "type": "shell", "args": [ - // "oscript", - // "src/opm.os", + "oscript", "opm", "test" ], - // "echoCommand": true, - // "showOutput": "always", - "suppressTaskName": true, - // "isTestCommand": false, + "group": "test", + "presentation": { + "echo": true, + "reveal": "always", + "focus": false, + "panel": "shared", + "showReuseMessage": true, + "clear": false + }, "problemMatcher": { "fileLocation": "absolute", "pattern": { @@ -35,17 +29,22 @@ } }, { - "taskName": "Testing project", + "label": "Testing project", + "type": "shell", "args": [ "1testrunner", "-runall", "${workspaceRoot}/tests" ], - "echoCommand": true, - "showOutput": "always", - "suppressTaskName": true, - // "isBuildCommand": false, - "isTestCommand": false, + "presentation": { + "echo": true, + "reveal": "always", + "focus": false, + "panel": "shared", + "showReuseMessage": true, + "clear": false + }, + "group": "test", "problemMatcher": { "fileLocation": "absolute", "pattern": { @@ -57,17 +56,22 @@ } }, { - "taskName": "Testing current test-file", + "label": "Testing current test-file", + "type": "shell", "args": [ "1testrunner", "-run", "${file}", ], - "echoCommand": true, - "showOutput": "always", - "suppressTaskName": true, - "isBuildCommand": false, - "isTestCommand": true, + "presentation": { + "echo": true, + "reveal": "always", + "focus": false, + "panel": "shared", + "showReuseMessage": true, + "clear": false + }, + "group": "test", "problemMatcher": { "fileLocation": "absolute", "pattern": { @@ -79,18 +83,23 @@ } }, { - "taskName": "Exec all features", + "label": "Exec all features", + "type": "shell", "args": [ "1bdd", "${workspaceRoot}/features", "-out", "${workspaceRoot}/exec.log" ], - "echoCommand": true, - "showOutput": "always", - "suppressTaskName": true, - "isBuildCommand": true, - "isTestCommand": false, + "presentation": { + "echo": true, + "reveal": "always", + "focus": false, + "panel": "shared", + "showReuseMessage": true, + "clear": false + }, + "group": "test", "problemMatcher": { "fileLocation": "absolute", "pattern": { @@ -102,18 +111,27 @@ } }, { - "taskName": "Exec feature", + "label": "Exec feature", + "type": "shell", "args": [ - "1bdd", - "${file}", - "-out", - "${workspaceRoot}/exec.log" - ], - "echoCommand": true, - "showOutput": "always", - "suppressTaskName": true, - "isBuildCommand": false, - "isTestCommand": true, + "/c", + "1bdd", + "${file}", + "-fail-fast", + "-require", + "${workspaceRoot}/features", + "-out", + "${workspaceRoot}/exec.log" + ], + "presentation": { + "echo": true, + "reveal": "always", + "focus": false, + "panel": "shared", + "showReuseMessage": true, + "clear": false + }, + "group": "test", "problemMatcher": { "fileLocation": "absolute", "pattern": [ @@ -127,7 +145,8 @@ } }, { - "taskName": "Generate feature steps", + "label": "Generate feature steps", + "type": "shell", "args": [ "1bdd", "gen", @@ -135,11 +154,15 @@ "-out", "${workspaceRoot}/exec.log" ], - "echoCommand": true, - "showOutput": "always", - "suppressTaskName": true, - "isBuildCommand": false, - "isTestCommand": false, + "presentation": { + "echo": true, + "reveal": "always", + "focus": false, + "panel": "shared", + "showReuseMessage": true, + "clear": false + }, + "group": "build", "problemMatcher": { "fileLocation": "absolute", "pattern": { @@ -151,33 +174,46 @@ } }, { - "taskName": "OneScript: compile", + "label": "OneScript: compile", + "type": "shell", "args": [ "oscript", "-encoding=utf-8", "-compile", "${file}" ], - "echoCommand": true, - "showOutput": "always", - "suppressTaskName": true, - "isBuildCommand": false + "presentation": { + "echo": true, + "reveal": "always", + "focus": false, + "panel": "shared", + "showReuseMessage": true, + "clear": false + }, + "group": "build", }, { - "taskName": "OneScript: check", + "label": "OneScript: check", + "type": "shell", "args": [ "oscript", "-encoding=utf-8", "-check", "${file}" ], - "echoCommand": true, - "showOutput": "always", - "suppressTaskName": true, - "isBuildCommand": false + "presentation": { + "echo": true, + "reveal": "always", + "focus": false, + "panel": "shared", + "showReuseMessage": true, + "clear": false + }, + "group": "test", }, { - "taskName": "OneScript: make", + "label": "OneScript: make", + "type": "shell", "args": [ "oscript", "-encoding=utf-8", @@ -185,22 +221,33 @@ "${file}", "${fileBasename}.exe" ], - "echoCommand": true, - "showOutput": "always", - "suppressTaskName": true, - "isBuildCommand": false + "presentation": { + "echo": true, + "reveal": "always", + "focus": false, + "panel": "shared", + "showReuseMessage": true, + "clear": false + }, + "group": "build", }, { - "taskName": "OneScript: run", + "label": "OneScript: run", + "type": "shell", "args": [ "oscript", "-encoding=utf-8", "${file}" ], - "echoCommand": true, - "showOutput": "always", - "suppressTaskName": true, - "isBuildCommand": true, + "presentation": { + "echo": true, + "reveal": "always", + "focus": false, + "panel": "shared", + "showReuseMessage": true, + "clear": false + }, + "group": "build", "problemMatcher": { "fileLocation": "absolute", "pattern": { diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index cbf0d4e3..00000000 --- a/Jenkinsfile +++ /dev/null @@ -1,49 +0,0 @@ - -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 allowEmptyResults: true, testResults: 'tests.xml' - junit allowEmptyResults: true, testResults: 'bdd-log.xml' - } - else - echo 'no testing task' - - def scannerHome = tool 'sonar-scanner'; - withSonarQubeEnv('silverbulleters') { - sh "${scannerHome}/bin/sonar-scanner" - } - } - - } - - } - -/* stage('Тестирование кода пакета LINUX') { - - agent { label 'master' } - - steps { - echo 'under development' - } - - } -*/ - - } -} diff --git a/build_packagedef b/build_packagedef index 3d1df3e1..b4270966 100644 --- a/build_packagedef +++ b/build_packagedef @@ -6,7 +6,7 @@ КомандаOpm = Новый Команда; КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("install -l"); + КомандаOpm.ДобавитьПараметр("install -l"); КомандаOpm.ДобавитьЛогВыводаКоманды("task.build"); КодВозврата = КомандаOpm.Исполнить(); @@ -19,8 +19,7 @@ КомандаOpm = Новый Команда; КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("run get-plugins"); - // КомандаOpm.ДобавитьПараметр("develop"); + КомандаOpm.ДобавитьПараметр("run get-plugins"); КомандаOpm.ДобавитьЛогВыводаКоманды("task.build"); @@ -45,8 +44,8 @@ КонецПроцедуры Описание.Имя("gitsync") - .Версия("3.6.1") - .ВерсияСреды("1.8.4") + .Версия("3.7.0") + .ВерсияСреды("1.9.2") .ВключитьФайл("src") .ВключитьФайл("embedded_plugins") .ВключитьФайл("oscript_modules") diff --git a/features/cmd/all.feature b/features/cmd/all.feature index 505fe454..204ffb7f 100644 --- a/features/cmd/all.feature +++ b/features/cmd/all.feature @@ -6,16 +6,16 @@ Чтобы выполнять автоматическую выгрузку конфигураций из хранилища Структура сценария: <Сценарий> - Дано Я очищаю параметры команды "gitsync" в контексте + Дано Я очищаю параметры команды "gitsync" в контексте И Я создаю новый объект ГитРепозиторий И Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке - + # Подготовка хранилища 1 И Я создаю временный каталог и сохраняю его в переменной "КаталогХранилища1С_1" И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С_1" И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников_1" И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников_1" - И Я создаю тестовой файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходников_1" + И Я создаю тестовый файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходников_1" И Я записываю "0" в файл VERSION в каталоге из переменной "ПутьКаталогаИсходников_1" # Подготовка хранилища 2 @@ -23,7 +23,7 @@ И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С_2" И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников_2" И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников_2" - И Я создаю тестовой файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходников_2" + И Я создаю тестовый файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходников_2" И Я записываю "0" в файл VERSION в каталоге из переменной "ПутьКаталогаИсходников_2" # Подготовка хранилища 2 @@ -31,7 +31,7 @@ И я скопировал каталог тестового хранилища конфигурации расширения в каталог из переменной "КаталогХранилищаРасширения" И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходниковРасширения" И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходниковРасширения" - И Я создаю тестовой файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходниковРасширения" + И Я создаю тестовый файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходниковРасширения" И Я записываю "0" в файл VERSION в каталоге из переменной "ПутьКаталогаИсходниковРасширения" И Я создаю файл настройки из файла <ПутьКФайлуШаблона> и сохраняю в переменную "FILE" @@ -46,10 +46,9 @@ Тогда Вывод команды "gitsync" содержит <Результат> И Вывод команды "gitsync" не содержит "Внешнее исключение" И Код возврата команды "gitsync" равен 0 - + Примеры: - | Сценарий | ПутьКФайлуШаблона | ДопПараметрыЗапуска | Результат | - | Выполнение синхронизации по имени | tests/fixtures/default.yaml | --name ТестовыйРепозиторий | Наименование: <ТестовыйРепозиторий> | - | Выполнение синхронизации с несколькими хранилищами | tests/fixtures/default.yaml | | Завершено выполнение команды | - | Выполнение синхронизации расширениями | tests/fixtures/ext.yaml | | Завершено выполнение команды | - \ No newline at end of file + | Сценарий | ПутьКФайлуШаблона | ДопПараметрыЗапуска | Результат | + | Выполнение синхронизации по имени | tests/fixtures/default.yaml | --name ТестовыйРепозиторий | Наименование: <ТестовыйРепозиторий> | + | Выполнение синхронизации с несколькими хранилищами | tests/fixtures/default.yaml | | Завершено выполнение команды | + | Выполнение синхронизации расширениями | tests/fixtures/ext.yaml | | Завершено выполнение команды | diff --git a/features/cmd/clone.feature b/features/cmd/clone.feature index 3aa3b792..8e4c02a8 100644 --- a/features/cmd/clone.feature +++ b/features/cmd/clone.feature @@ -13,10 +13,11 @@ И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С" И Я создаю временный каталог и сохраняю его в переменной "URLРепозитория" И Я инициализирую bare репозиторий в каталоге из переменной "URLРепозитория" + И Я устанавливаю автора в репозитории И Я наполняю bare репозиторий из переменной "URLРепозитория" тестовыми данными И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников" И я включаю отладку лога с именем "oscript.app.gitsync" - + Сценарий: Клонирование репозитория гит и наполнение его служебными данными Допустим Я добавляю параметр "-v" для команды "gitsync" И Я добавляю параметр "clone" для команды "gitsync" @@ -57,4 +58,4 @@ И В каталоге из переменной "ПутьКаталогаИсходников" создается файл или каталог "VERSION" И Я очищаю значение переменных окружения |GITSYNC_STORAGE_PATH| - |GITSYNC_WORKDIR| \ No newline at end of file + |GITSYNC_WORKDIR| diff --git a/features/cmd/extention.feature b/features/cmd/extention.feature index 71d6ba85..6d3e43da 100644 --- a/features/cmd/extention.feature +++ b/features/cmd/extention.feature @@ -13,8 +13,8 @@ И я скопировал каталог тестового хранилища конфигурации расширения в каталог из переменной "КаталогХранилища1С" И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников" И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников" - И Я создаю тестовой файл AUTHORS - И Я записываю "0" в файл VERSION + И Я создаю тестовый файл AUTHORS + И Я записываю "4" в файл VERSION Сценарий: Простая синхронизация хранилища с git-репозиторием Допустим Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория" diff --git a/features/cmd/ibconnection.feature b/features/cmd/ibconnection.feature index 4f0bd754..d8abd77e 100644 --- a/features/cmd/ibconnection.feature +++ b/features/cmd/ibconnection.feature @@ -17,8 +17,8 @@ Сценарий: Простая синхронизация хранилища с git-репозиторием Допустим Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория" И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников" - И Я создаю тестовой файл AUTHORS - И Я записываю "0" в файл VERSION + И Я создаю тестовый файл AUTHORS + И Я записываю "7" в файл VERSION И Я добавляю параметр "-v" для команды "gitsync" И Я добавляю параметр "--tempdir" для команды "gitsync" из переменной "ВременнаяДиректория" И Я добавляю параметр "--ib-connection" для команды "gitsync" из переменной "ВременнаяБаза" @@ -34,6 +34,7 @@ Сценарий: Клонирование репозитория гит и наполнение его служебными данными Допустим Я создаю временный каталог и сохраняю его в переменной "URLРепозитория" И Я инициализирую bare репозиторий в каталоге из переменной "URLРепозитория" + И Я устанавливаю автора в репозитории И Я наполняю bare репозиторий из переменной "URLРепозитория" тестовыми данными И Я добавляю параметр "-v" для команды "gitsync" И Я добавляю параметр "--ib-connection" для команды "gitsync" из переменной "ВременнаяБаза" diff --git a/features/cmd/setversion.feature b/features/cmd/setversion.feature index 4d1da7f8..c64b025c 100644 --- a/features/cmd/setversion.feature +++ b/features/cmd/setversion.feature @@ -10,15 +10,16 @@ И Я создаю новый объект ГитРепозиторий И Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке И Я создаю временный каталог и сохраняю его в контекст - + И Я создаю временный каталог и сохраняю его в переменной "КаталогХранилища1С" И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С" И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников" И Я сохраняю значение временного каталога в переменной "ПутьКаталогаИсходников" И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников" - И Я создаю тестовой файл AUTHORS + И Я создаю тестовый файл AUTHORS И Я записываю "0" в файл VERSION + И Я устанавливаю автора в репозитории Сценарий: Установка версии без коммита Допустим Я добавляю параметр "-v" для команды "gitsync" @@ -52,4 +53,4 @@ И Вывод команды "gitsync" не содержит "Внешнее исключение" И Код возврата команды "gitsync" равен 0 И Я очищаю значение переменных окружения - |GITSYNC_WORKDIR| \ No newline at end of file + |GITSYNC_WORKDIR| diff --git a/features/cmd/step_definitions/all.os b/features/cmd/step_definitions/all.os index 5daace23..89e6bfe8 100644 --- a/features/cmd/step_definitions/all.os +++ b/features/cmd/step_definitions/all.os @@ -11,10 +11,9 @@ ВсеШаги = Новый Массив; - ВсеШаги.Добавить("ЯСоздаюТестовойФайлAuthorsВКаталогеИзПеременной"); + ВсеШаги.Добавить("ЯСоздаюТестовыйФайлAuthorsВКаталогеИзПеременной"); ВсеШаги.Добавить("ЯЗаписываюВФайлVersionВКаталогеИзПеременной"); ВсеШаги.Добавить("ЯСоздаюФайлНастройкиИзФайлаИСохраняюВПеременную"); - ВсеШаги.Добавить("ЯДобавляюПараметр__Параметрдлятаблицы____Параметрстрока__Gitsync"); Возврат ВсеШаги; КонецФункции @@ -31,10 +30,8 @@ КонецПроцедуры - - -//Я создаю тестовой файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходников_1" -Процедура ЯСоздаюТестовойФайлAuthorsВКаталогеИзПеременной(Знач ИмяПеременной) Экспорт +//Я создаю тестовый файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходников_1" +Процедура ЯСоздаюТестовыйФайлAuthorsВКаталогеИзПеременной(Знач ИмяПеременной) Экспорт ПутьКаталогаИсходников = БДД.ПолучитьИзКонтекста(ИмяПеременной); ФайлАвторов = Новый ЗаписьТекста; ФайлАвторов.Открыть(ОбъединитьПути(ПутьКаталогаИсходников, "AUTHORS"), "utf-8"); diff --git a/features/cmd/step_definitions/check.core.os b/features/cmd/step_definitions/check.core.os index 9017b62c..989161dd 100644 --- a/features/cmd/step_definitions/check.core.os +++ b/features/cmd/step_definitions/check.core.os @@ -12,9 +12,9 @@ ВсеШаги.Добавить("ЯСоздаюНовыйМенеджерподписок"); ВсеШаги.Добавить("ЯСоздаюНовыйИнтерфейсплагинов"); - ВсеШаги.Добавить("МенеджераподписокРеализуетИнтерфейсаплагинов"); + ВсеШаги.Добавить("МенеджерподписокРеализуетИнтерфейсплагинов"); ВсеШаги.Добавить("ЯСоздаюНовыйТестовыйплагин"); - ВсеШаги.Добавить("ТестовыйплагинРеализуетИнтерфейсаплагинов"); + ВсеШаги.Добавить("ТестовыйплагинРеализуетИнтерфейсплагинов"); Возврат ВсеШаги; КонецФункции @@ -47,8 +47,8 @@ КонецПроцедуры -//МенеджераПодписок реализует ИнтерфейсаПлагинов -Процедура МенеджераподписокРеализуетИнтерфейсаплагинов() Экспорт +//МенеджерПодписок реализует ИнтерфейсПлагинов +Процедура МенеджерподписокРеализуетИнтерфейсплагинов() Экспорт МенеджераПодписок = БДД.ПолучитьИзКонтекста("МенеджераПодписок"); ИнтерфейсПлагинов = БДД.ПолучитьИзКонтекста("ИнтерфейсПлагинов"); @@ -65,8 +65,8 @@ БДД.СохранитьВКонтекст("ТестовыйПлагин", Новый ТестовыйПлагин); КонецПроцедуры -//ТестовыйПлагин реализует ИнтерфейсаПлагинов -Процедура ТестовыйплагинРеализуетИнтерфейсаплагинов() Экспорт +//ТестовыйПлагин реализует ИнтерфейсПлагинов +Процедура ТестовыйплагинРеализуетИнтерфейсплагинов() Экспорт ИнтерфейсПлагинов = БДД.ПолучитьИзКонтекста("ИнтерфейсПлагинов"); ТестовыйПлагин = БДД.ПолучитьИзКонтекста("ТестовыйПлагин"); diff --git a/features/cmd/step_definitions/extention.os b/features/cmd/step_definitions/extension.os similarity index 89% rename from features/cmd/step_definitions/extention.os rename to features/cmd/step_definitions/extension.os index 6a1811fc..99f1ab2a 100644 --- a/features/cmd/step_definitions/extention.os +++ b/features/cmd/step_definitions/extension.os @@ -1,9 +1,11 @@ -#Использовать fs +// BSLLS:MissingReturnedValueDescription-off +// BSLLS:MissingParameterDescription-off -// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd +#Использовать fs -Перем БДД; //контекст фреймворка 1bdd +// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd +Перем БДД; // контекст фреймворка 1bdd // Метод выдает список шагов, реализованных в данном файле-шагов Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт @@ -21,22 +23,17 @@ // Процедура выполняется перед запуском каждого сценария Процедура ПередЗапускомСценария(Знач Узел) Экспорт - - КонецПроцедуры // Процедура выполняется после завершения каждого сценария Процедура ПослеЗапускаСценария(Знач Узел) Экспорт - КонецПроцедуры - //я скопировал каталог тестового хранилища конфигурации расширения в каталог из переменной "КаталогХранилища1С" Процедура ЯСкопировалКаталогТестовогоХранилищаКонфигурацииРасширенияВКаталогИзПеременной(Знач ИмяПеременной) Экспорт КаталогХранилища1С = БДД.ПолучитьИзКонтекста(ИмяПеременной); ФС.КопироватьСодержимоеКаталога(ПутьКВременномуФайлуХранилища1С(), КаталогХранилища1С); - // КопироватьФайл(ПутьКВременномуФайлуХранилища1С(), ОбъединитьПути(КаталогХранилища1С, "1cv8ddb.1CD")); КонецПроцедуры Функция ПутьКВременномуФайлуХранилища1С() diff --git a/features/cmd/step_definitions/init.os b/features/cmd/step_definitions/init.os index 153fea24..60ed491b 100644 --- a/features/cmd/step_definitions/init.os +++ b/features/cmd/step_definitions/init.os @@ -20,8 +20,6 @@ // Процедура выполняется перед запуском каждого сценария Процедура ПередЗапускомСценария(Знач Узел) Экспорт - - КонецПроцедуры // Процедура выполняется после завершения каждого сценария @@ -49,6 +47,3 @@ БДД.СохранитьВКонтекст("КаталогSRC", КаталогSRC); КонецПроцедуры - - - diff --git a/features/cmd/step_definitions/shared.os b/features/cmd/step_definitions/shared.os index be60e6d9..614f81aa 100644 --- a/features/cmd/step_definitions/shared.os +++ b/features/cmd/step_definitions/shared.os @@ -19,14 +19,15 @@ ВсеШаги.Добавить("ЯУстанавливаюПутьВыполненияКомандыКТекущейБиблиотеке"); ВсеШаги.Добавить("ЯСкопировалКаталогТестовогоХранилищаКонфигурацииВоВременныйКаталог"); ВсеШаги.Добавить("ЯСохраняюЗначениеВременногоКаталогаВПеременной"); - ВсеШаги.Добавить("ЯСоздаюТестовойФайлAuthors"); + ВсеШаги.Добавить("ЯСоздаюТестовыйФайлAuthors"); ВсеШаги.Добавить("ЯЗаписываюВФайлVersion"); ВсеШаги.Добавить("ЯИнициализируюСвязьСВнешнимРепозиторием"); ВсеШаги.Добавить("ЯДобавляюПозиционныйПараметрДляКомандыИзПеременной"); ВсеШаги.Добавить("ЯДобавляюПараметрДляКомандыИзПеременной"); ВсеШаги.Добавить("ЯДобавляюПараметрыДляКоманды"); - ВсеШаги.Добавить("ЯСоздаюНеполныйТестовойФайлAuthors"); + ВсеШаги.Добавить("ЯСоздаюНеполныйТестовыйФайлAuthors"); ВсеШаги.Добавить("ЯСоздаюНовыйОбъектГитрепозиторий"); + ВсеШаги.Добавить("ЯУстанавливаюАвтораВРепозитории"); ВсеШаги.Добавить("ЯУстанавливаюРабочейКаталогВоВременныйКаталог"); ВсеШаги.Добавить("ЯУстанавливаюВКонтекстеПризнакСтатистикиСкриптовOnescript"); ВсеШаги.Добавить("ЯИнициализируюРепозиторийВКаталогеИзПеременной"); @@ -112,17 +113,26 @@ //Я создаю новый объект ГитРепозиторий Процедура ЯСоздаюНовыйОбъектГитрепозиторий() Экспорт ГитРепозиторий = Новый ГитРепозиторий; + БДД.СохранитьВКонтекст("ГитРепозиторий", ГитРепозиторий); КонецПроцедуры +//Я устанавливаю автора в репозитории +Процедура ЯУстанавливаюАвтораВРепозитории() Экспорт + ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий"); + + ГитРепозиторий.УстановитьНастройку("user.email", "you@example.com", РежимУстановкиНастроекGit.Глобально); + ГитРепозиторий.УстановитьНастройку("user.name", "Your Name", РежимУстановкиНастроекGit.Глобально); +КонецПроцедуры + //Я сохраняю значение временного каталога в переменной "URLРепозитория" Процедура ЯСохраняюЗначениеВременногоКаталогаВПеременной(Знач ИмяПеременной) Экспорт ВременныйКаталог = БДД.ПолучитьИзКонтекста("ВременныйКаталог"); БДД.СохранитьВКонтекст(ИмяПеременной, ВременныйКаталог); КонецПроцедуры -//Я создаю тестовой файл AUTHORS -Процедура ЯСоздаюТестовойФайлAuthors() Экспорт +//Я создаю тестовый файл AUTHORS +Процедура ЯСоздаюТестовыйФайлAuthors() Экспорт ПутьКаталогаИсходников = БДД.ПолучитьИзКонтекста("ПутьКаталогаИсходников"); ФайлАвторов = Новый ЗаписьТекста; @@ -246,8 +256,8 @@ КонецПроцедуры -//Я создаю неполный тестовой файл AUTHORS -Процедура ЯСоздаюНеполныйТестовойФайлAuthors() Экспорт +//Я создаю неполный тестовый файл AUTHORS +Процедура ЯСоздаюНеполныйТестовыйФайлAuthors() Экспорт ПутьКаталогаИсходников = БДД.ПолучитьИзКонтекста("ПутьКаталогаИсходников"); ФайлАвторов = Новый ЗаписьТекста; diff --git a/features/cmd/step_definitions/sync.core.os b/features/cmd/step_definitions/sync.core.os index 2951866e..adf1d0c9 100644 --- a/features/cmd/step_definitions/sync.core.os +++ b/features/cmd/step_definitions/sync.core.os @@ -119,11 +119,8 @@ МенеджерПлагинов.УстановитьКаталогПлагинов(КаталогПлагинов); МенеджерПлагинов.УстановитьФайлПлагин(ФайлПлагина); - КонецПроцедуры Функция КаталогТестовогоПлагина() Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "testsata", "test_plugin"); КонецФункции - - diff --git a/features/cmd/step_definitions/v8path.os b/features/cmd/step_definitions/v8path.os index 3d675627..52628d17 100644 --- a/features/cmd/step_definitions/v8path.os +++ b/features/cmd/step_definitions/v8path.os @@ -9,7 +9,7 @@ ВсеШаги = Новый Массив; - ВсеШаги.Добавить("ЯИщюПлатформуИСохранюНайденныйПуть"); + ВсеШаги.Добавить("ЯИщуПлатформуИСохраняюНайденныйПуть"); Возврат ВсеШаги; КонецФункции @@ -27,8 +27,8 @@ КонецПроцедуры -//Я ищю платформу и сохраню найденный путь "ПутьКПлатформе1С" -Процедура ЯИщюПлатформуИСохранюНайденныйПуть(Знач ИмяПеременной) Экспорт +//Я ищу платформу и сохраняю найденный путь "ПутьКПлатформе1С" +Процедура ЯИщуПлатформуИСохраняюНайденныйПуть(Знач ИмяПеременной) Экспорт ПутьКПлатформе1С = Платформа1С.ПутьКПредприятию("8.3"); @@ -39,7 +39,3 @@ БДД.СохранитьВКонтекст(ИмяПеременной, ПутьКПлатформе1С); КонецПроцедуры - -Функция ОбернутьВКавычки(Знач Строка); - Возврат """" + Строка + """"; -КонецФункции \ No newline at end of file diff --git a/features/cmd/sync.feature b/features/cmd/sync.feature index cb99c8e9..84b05f8f 100644 --- a/features/cmd/sync.feature +++ b/features/cmd/sync.feature @@ -13,8 +13,8 @@ И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С" И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников" И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников" - И Я создаю тестовой файл AUTHORS - И Я записываю "0" в файл VERSION + И Я создаю тестовый файл AUTHORS + И Я записываю "7" в файл VERSION Сценарий: Простая синхронизация хранилища с git-репозиторием Допустим Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория" diff --git a/features/cmd/v8path.feature b/features/cmd/v8path.feature index cdeeb1bc..80016926 100644 --- a/features/cmd/v8path.feature +++ b/features/cmd/v8path.feature @@ -13,9 +13,9 @@ И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С" И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников" И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников" - И Я ищю платформу и сохраню найденный путь "ПутьКПлатформе1С" - И Я создаю тестовой файл AUTHORS - И Я записываю "0" в файл VERSION + И Я ищу платформу и сохраняю найденный путь "ПутьКПлатформе1С" + И Я создаю тестовый файл AUTHORS + И Я записываю "7" в файл VERSION Сценарий: Простая синхронизация хранилища с git-репозиторием Допустим Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория" diff --git a/features/core/check.core.feature b/features/core/check.core.feature index 20093a64..bc5325d4 100644 --- a/features/core/check.core.feature +++ b/features/core/check.core.feature @@ -12,10 +12,10 @@ Когда Я создаю новый МенеджерПодписок И Я создаю новый ИнтерфейсПлагинов - Тогда МенеджераПодписок реализует ИнтерфейсаПлагинов + Тогда МенеджерПодписок реализует ИнтерфейсПлагинов Сценарий: Проверка интерфейса ТестовыйПлагин Когда Я создаю новый ТестовыйПлагин И Я создаю новый ИнтерфейсПлагинов - Тогда ТестовыйПлагин реализует ИнтерфейсаПлагинов \ No newline at end of file + Тогда ТестовыйПлагин реализует ИнтерфейсПлагинов \ No newline at end of file diff --git a/features/core/step_definitions/check.core.os b/features/core/step_definitions/check.core.os index 9017b62c..8f91ad12 100644 --- a/features/core/step_definitions/check.core.os +++ b/features/core/step_definitions/check.core.os @@ -10,11 +10,11 @@ ВсеШаги = Новый Массив; - ВсеШаги.Добавить("ЯСоздаюНовыйМенеджерподписок"); - ВсеШаги.Добавить("ЯСоздаюНовыйИнтерфейсплагинов"); - ВсеШаги.Добавить("МенеджераподписокРеализуетИнтерфейсаплагинов"); - ВсеШаги.Добавить("ЯСоздаюНовыйТестовыйплагин"); - ВсеШаги.Добавить("ТестовыйплагинРеализуетИнтерфейсаплагинов"); + ВсеШаги.Добавить("ЯСоздаюНовыйМенеджерПодписок"); + ВсеШаги.Добавить("ЯСоздаюНовыйИнтерфейсПлагинов"); + ВсеШаги.Добавить("МенеджерПодписокРеализуетИнтерфейсПлагинов"); + ВсеШаги.Добавить("ЯСоздаюНовыйТестовыйПлагин"); + ВсеШаги.Добавить("ТестовыйПлагинРеализуетИнтерфейсПлагинов"); Возврат ВсеШаги; КонецФункции @@ -47,8 +47,8 @@ КонецПроцедуры -//МенеджераПодписок реализует ИнтерфейсаПлагинов -Процедура МенеджераподписокРеализуетИнтерфейсаплагинов() Экспорт +//МенеджерПодписок реализует ИнтерфейсПлагинов +Процедура МенеджерподписокРеализуетИнтерфейсплагинов() Экспорт МенеджераПодписок = БДД.ПолучитьИзКонтекста("МенеджераПодписок"); ИнтерфейсПлагинов = БДД.ПолучитьИзКонтекста("ИнтерфейсПлагинов"); @@ -66,7 +66,7 @@ КонецПроцедуры //ТестовыйПлагин реализует ИнтерфейсаПлагинов -Процедура ТестовыйплагинРеализуетИнтерфейсаплагинов() Экспорт +Процедура ТестовыйплагинРеализуетИнтерфейсплагинов() Экспорт ИнтерфейсПлагинов = БДД.ПолучитьИзКонтекста("ИнтерфейсПлагинов"); ТестовыйПлагин = БДД.ПолучитьИзКонтекста("ТестовыйПлагин"); diff --git a/features/core/step_definitions/shared.os b/features/core/step_definitions/shared.os index 3ec3e64e..16160310 100644 --- a/features/core/step_definitions/shared.os +++ b/features/core/step_definitions/shared.os @@ -19,14 +19,15 @@ ВсеШаги.Добавить("ЯУстанавливаюПутьВыполненияКомандыКТекущейБиблиотеке"); ВсеШаги.Добавить("ЯСкопировалКаталогТестовогоХранилищаКонфигурацииВоВременныйКаталог"); ВсеШаги.Добавить("ЯСохраняюЗначениеВременногоКаталогаВПеременной"); - ВсеШаги.Добавить("ЯСоздаюТестовойФайлAuthors"); + ВсеШаги.Добавить("ЯСоздаюТестовыйФайлAuthors"); ВсеШаги.Добавить("ЯЗаписываюВФайлVersion"); ВсеШаги.Добавить("ЯИнициализируюСвязьСВнешнимРепозиторием"); ВсеШаги.Добавить("ЯДобавляюПозиционныйПараметрДляКомандыИзПеременной"); ВсеШаги.Добавить("ЯДобавляюПараметрДляКомандыИзПеременной"); ВсеШаги.Добавить("ЯДобавляюПараметрыДляКоманды"); - ВсеШаги.Добавить("ЯСоздаюНеполныйТестовойФайлAuthors"); + ВсеШаги.Добавить("ЯСоздаюНеполныйТестовыйФайлAuthors"); ВсеШаги.Добавить("ЯСоздаюНовыйОбъектГитрепозиторий"); + ВсеШаги.Добавить("ЯУстанавливаюАвтораВРепозитории"); ВсеШаги.Добавить("ЯУстанавливаюРабочейКаталогВоВременныйКаталог"); ВсеШаги.Добавить("ЯУстанавливаюВКонтекстеПризнакСтатистикиСкриптовOnescript"); ВсеШаги.Добавить("ЯИнициализируюРепозиторийВКаталогеИзПеременной"); @@ -67,12 +68,6 @@ //я устанавливаю в контексте признак статистики скриптов OneScript Процедура ЯУстанавливаюВКонтекстеПризнакСтатистикиСкриптовOnescript() Экспорт - // ПутьКаталога = "coverage"; - - // ОбъектКаталога = Новый Файл(ОбъединитьПути(КаталогГитсинк(), ПутьКаталога)); - - // БДД.СохранитьВКонтекст("ПризнакСтатистикиСкриптовOnescript", ОбъектКаталога); - КонецПроцедуры //Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников" @@ -112,17 +107,26 @@ //Я создаю новый объект ГитРепозиторий Процедура ЯСоздаюНовыйОбъектГитрепозиторий() Экспорт ГитРепозиторий = Новый ГитРепозиторий; + БДД.СохранитьВКонтекст("ГитРепозиторий", ГитРепозиторий); КонецПроцедуры +//Я устанавливаю автора в репозитории +Процедура ЯУстанавливаюАвтораВРепозитории() Экспорт + ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий"); + + ГитРепозиторий.УстановитьНастройку("user.email", "you@example.com", РежимУстановкиНастроекGit.Глобально); + ГитРепозиторий.УстановитьНастройку("user.name", "Your Name", РежимУстановкиНастроекGit.Глобально); +КонецПроцедуры + //Я сохраняю значение временного каталога в переменной "URLРепозитория" Процедура ЯСохраняюЗначениеВременногоКаталогаВПеременной(Знач ИмяПеременной) Экспорт ВременныйКаталог = БДД.ПолучитьИзКонтекста("ВременныйКаталог"); БДД.СохранитьВКонтекст(ИмяПеременной, ВременныйКаталог); КонецПроцедуры -//Я создаю тестовой файл AUTHORS -Процедура ЯСоздаюТестовойФайлAuthors() Экспорт +//Я создаю тестовый файл AUTHORS +Процедура ЯСоздаюТестовыйФайлAuthors() Экспорт ПутьКаталогаИсходников = БДД.ПолучитьИзКонтекста("ПутьКаталогаИсходников"); ФайлАвторов = Новый ЗаписьТекста; @@ -201,16 +205,10 @@ //Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке Процедура ЯУстанавливаюПутьВыполненияКомандыКТекущейБиблиотеке(Знач ИмяКоманды) Экспорт - ПутьГитсинк = ОбъединитьПути(КаталогГитсинк(), "src", "cmd", "gitsync.os"); Команда = БДД.ПолучитьИзКонтекста(КлючКоманды(ИмяКоманды)); УстановитьДвижок(Команда); - // МенеджерВременныхФайлов = Новый МенеджерВременныхФайлов; - // МенеджерВременныхФайлов.БазовыйКаталог = ОбъединитьПути(КаталогГитсинк(), "coverage"); - // ИмяФайлаСтатистики = МенеджерВременныхФайлов.НовоеИмяФайла("json"); - // Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ИмяФайлаСтатистики)); - Команда.ДобавитьПараметр(ОбернутьВКавычки(ПутьГитсинк)); КонецПроцедуры @@ -223,8 +221,8 @@ КонецПроцедуры -//Я создаю неполный тестовой файл AUTHORS -Процедура ЯСоздаюНеполныйТестовойФайлAuthors() Экспорт +//Я создаю неполный тестовый файл AUTHORS +Процедура ЯСоздаюНеполныйТестовыйФайлAuthors() Экспорт ПутьКаталогаИсходников = БДД.ПолучитьИзКонтекста("ПутьКаталогаИсходников"); ФайлАвторов = Новый ЗаписьТекста; diff --git a/features/core/step_definitions/sync.batch.os b/features/core/step_definitions/sync.batch.os index 089d86c5..6d8f40d6 100644 --- a/features/core/step_definitions/sync.batch.os +++ b/features/core/step_definitions/sync.batch.os @@ -10,7 +10,7 @@ ВсеШаги = Новый Массив; ВсеШаги.Добавить("ЯСоздаюНовыйОбъектПакетнаясинхронизация"); - ВсеШаги.Добавить("ЯСоздаюТестовойФайлAuthorsВКаталогеИзПеременной"); + ВсеШаги.Добавить("ЯСоздаюТестовыйФайлAuthorsВКаталогеИзПеременной"); ВсеШаги.Добавить("ЯЗаписываюВФайлVersionВКаталогеИзПеременной"); ВсеШаги.Добавить("ЯДобавляюФайлВКаталогПроектаССодержанием"); ВсеШаги.Добавить("ЯЗаменяюЗначениемИзПеременнойВФайле"); @@ -115,8 +115,8 @@ КонецПроцедуры -//Я создаю тестовой файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходников_1" -Процедура ЯСоздаюТестовойФайлAuthorsВКаталогеИзПеременной(Знач ИмяПеременной) Экспорт +//Я создаю тестовый файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходников_1" +Процедура ЯСоздаюТестовыйФайлAuthorsВКаталогеИзПеременной(Знач ИмяПеременной) Экспорт ПутьКаталогаИсходников = БДД.ПолучитьИзКонтекста(ИмяПеременной); ФайлАвторов = Новый ЗаписьТекста; ФайлАвторов.Открыть(ОбъединитьПути(ПутьКаталогаИсходников, "AUTHORS"), "utf-8"); diff --git "a/features/core/step_definitions/testsata/test_plugin/src/\320\232\320\273\320\260\321\201\321\201\321\213/testPlugin.os" "b/features/core/step_definitions/testsata/test_plugin/src/\320\232\320\273\320\260\321\201\321\201\321\213/testPlugin.os" index 6d359f29..4a6c8d88 100644 --- "a/features/core/step_definitions/testsata/test_plugin/src/\320\232\320\273\320\260\321\201\321\201\321\213/testPlugin.os" +++ "b/features/core/step_definitions/testsata/test_plugin/src/\320\232\320\273\320\260\321\201\321\201\321\213/testPlugin.os" @@ -593,4 +593,3 @@ #КонецОбласти Лог = Логирование.ПолучитьЛог(ИмяЛога()); - diff --git a/features/core/sync.batch.feature b/features/core/sync.batch.feature index 02e2bf81..f84fd854 100644 --- a/features/core/sync.batch.feature +++ b/features/core/sync.batch.feature @@ -13,7 +13,7 @@ И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С_1" И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников_1" И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников_1" - И Я создаю тестовой файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходников_1" + И Я создаю тестовый файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходников_1" И Я записываю "0" в файл VERSION в каталоге из переменной "ПутьКаталогаИсходников_1" # Подготовка хранилища 2 @@ -21,7 +21,7 @@ И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С_2" И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников_2" И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников_2" - И Я создаю тестовой файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходников_2" + И Я создаю тестовый файл AUTHORS в каталоге из переменной "ПутьКаталогаИсходников_2" И Я записываю "0" в файл VERSION в каталоге из переменной "ПутьКаталогаИсходников_2" И Я создаю временный каталог и сохраняю его в переменной "КаталогПроекта" @@ -76,27 +76,3 @@ repositories: И Я заменяю "<КаталогХранилища1С_2>" значением из переменной "КаталогХранилища1С_2" в файле "example.yaml" И Я заменяю "<ПутьКаталогаИсходников_2>" значением из переменной "ПутьКаталогаИсходников_2" в файле "example.yaml" И Я устанавливаю файл настройки "example.yaml" в ПакетнаяСинхронизация - # И Я включаю отладку лога с именем "oscript.lib.gitsync.batch" - # И Я включаю отладку лога с именем "oscript.lib.configor" - # И Я включаю отладку лога с именем "oscript.lib.configor.yaml" - # И Я включаю отладку лога с именем "oscript.lib.configor.constructor" - -#Сценарий: Простая синхронизация хранилища с git-репозиторием -# Допустим Я устанавливаю авторизацию "Администратор" с паролем "" в ПакетнаяСинхронизация -# И Я устанавливаю версию платформы "8.3" в ПакетнаяСинхронизация -# Когда Я выполняю выполняют пакетную синхронизацию -# Тогда Вывод лога содержит "Завершена синхронизации с git" - -# Сценарий: Cинхронизация хранилища с git-репозиторием c плагинами -# Допустим Я устанавливаю авторизацию в хранилище пользователя "Администратор" с паролем "" -# И Я устанавливаю версию платформы "8.3" -# И Я создаю временный каталог и сохраняю его в переменной "КаталогПлагинов" -# И Я создаю новый МенеджерПлагинов -# И Я собираю тестовый плагин и сохраняю в контекст "ПутьКФайлуПлагина" -# И Я устанавливаю файл плагина из переменной "ПутьКФайлуПлагина" -# И Я загружаю плагины из каталога в переменной "КаталогПлагинов" -# И Я подключаю плагины в МенеджерСинхронизации -# Когда Я выполняю выполняют синхронизацию -# Тогда Вывод лога содержит "Завершена синхронизации с git" -# И Вывод лога содержит "Вызвано событие <ПриАктивизации> для плагина " - \ No newline at end of file diff --git a/features/core/sync.core.feature b/features/core/sync.core.feature index c2546b2f..8791e3d9 100644 --- a/features/core/sync.core.feature +++ b/features/core/sync.core.feature @@ -12,8 +12,8 @@ И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С" И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников" И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников" - И Я создаю тестовой файл AUTHORS - И Я записываю "0" в файл VERSION + И Я создаю тестовый файл AUTHORS + И Я записываю "7" в файл VERSION И Я включаю отладку лога с именем "oscript.app.gitsync.plugins.loader" И Я включаю отладку лога с именем "oscript.app.gitsync.plugins.event-subscriptions" diff --git a/features/opm/opm-build.feature b/features/opm/opm-build.feature index f575595a..09e402b6 100644 --- a/features/opm/opm-build.feature +++ b/features/opm/opm-build.feature @@ -3,7 +3,7 @@ Функционал: Проверка сборки продукта Как Пользователь Я хочу автоматически проверять сборку моего продукта - Чтобы гарантировать возможность установку моего продукта у пользователей + Чтобы гарантировать возможность установки моего продукта у пользователей Контекст: Отключение отладки в логах Допустим Я выключаю отладку лога с именем "oscript.lib.gitsync" diff --git "a/features/\320\237\321\200\320\276\321\201\321\202\321\213\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" "b/features/\320\237\321\200\320\276\321\201\321\202\321\213\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" index 40278df1..12071236 100644 --- "a/features/\320\237\321\200\320\276\321\201\321\202\321\213\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" +++ "b/features/\320\237\321\200\320\276\321\201\321\202\321\213\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" @@ -9,10 +9,9 @@ Контекст: Допустим Я очищаю параметры команды "oscript" в контексте И я включаю отладку лога с именем "oscript.app.gitsync" - # И я включаю отладку лога с именем "bdd" Сценарий: Получение версии продукта - Когда Я выполняю команду "oscript" с параметрами "src/gitsync.os version" + Когда Я выполняю команду "oscript" с параметрами "src/cmd/gitsync.os --version" Тогда Я сообщаю вывод команды "oscript" Тогда я вижу в консоли строку подобно "(\d+\.){2}\d+" И Вывод команды "oscript" не содержит "GitSync v" diff --git a/packagedef b/packagedef index 83953435..1abb05b2 100644 --- a/packagedef +++ b/packagedef @@ -1,28 +1,26 @@ Описание.Имя("gitsync") - .Версия("3.6.1") - .ВерсияСреды("1.9.0") - .ЗависитОт("logos", "1.2.1") + .Версия("3.7.0") + .ВерсияСреды("1.9.2") + .ЗависитОт("logos", "1.7.1") .ЗависитОт("tempfiles", "1.1.1") - .ЗависитОт("v8runner", "1.9.1") - .ЗависитОт("gitrunner", "1.7.1") - .ЗависитОт("strings", "0.4.1") - .ЗависитОт("1commands", "1.4.0") + .ЗависитОт("v8runner", "1.12.0") + .ЗависитОт("gitrunner", "1.8.0") + .ЗависитОт("strings", "0.5.0") + .ЗависитОт("1commands", "1.5.0") .ЗависитОт("json", "1.1.1") - .ЗависитОт("fs", "1.0.0") - .ЗависитОт("delegate", "0.2.0") + .ЗависитОт("fs", "1.1.0") + .ЗависитОт("delegate", "1.0.0") .ЗависитОт("v8storage", "0.9.4") - .ЗависитОт("reflector", "0.4.0") - .ЗависитОт("opm", "0.15.3") - .ЗависитОт("cli", "0.10.2") - .ЗависитОт("cli-selector", "0.3.0") - .ЗависитОт("configor", "0.7.0") - .РазработкаЗависитОт("1bdd") - .РазработкаЗависитОт("1testrunner") - .РазработкаЗависитОт("asserts") - .РазработкаЗависитОт("coverage") - .РазработкаЗависитОт("1commands") - .РазработкаЗависитОт("fs") + .ЗависитОт("reflector", "0.7.1") + .ЗависитОт("opm", "1.6.5") + .ЗависитОт("cli", "0.11.0") + .ЗависитОт("cli-selector", "0.5.0") + .ЗависитОт("configor", "0.10.0") + .РазработкаЗависитОт("1bdd", "1.15.1") + .РазработкаЗависитОт("1testrunner", "1.9.0") + .РазработкаЗависитОт("asserts", "1.6.1") + .РазработкаЗависитОт("coverage", "0.7.0") .ВключитьФайл("src") .ВключитьФайл("docs") .ВключитьФайл("embedded_plugins") diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" index b9aa3246..0ab42e0a 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Clone.os" @@ -1,4 +1,4 @@ -Перем Лог; +Перем Лог; // Логгер Процедура ОписаниеКоманды(Команда) Экспорт @@ -52,7 +52,7 @@ КонецЕсли; - КлонироватьРепозитарий(КаталогРабочейКопии, URLРепозитория); + КлонироватьРепозиторий(КаталогРабочейКопии, URLРепозитория); МассивФайлов = НайтиФайлы(КаталогРабочейКопии, "src"); КаталогИсходников = КаталогРабочейКопии; @@ -85,10 +85,14 @@ // Выполняет клонирование удаленного репо // -Процедура КлонироватьРепозитарий(Знач КаталогЛокальнойКопии, Знач URLРепозитария) +// Параметры: +// КаталогЛокальнойКопии - Строка - каталог локальной копии +// URLРепозитория - Строка - url репозитория +// +Процедура КлонироватьРепозиторий(Знач КаталогЛокальнойКопии, Знач URLРепозитория) Лог.Отладка("Каталог локальной копии: <%1>", КаталогЛокальнойКопии); - Лог.Отладка("URL репозитория: <%1>", URLРепозитария); + Лог.Отладка("URL репозитория: <%1>", URLРепозитория); ГитРепозиторий = Новый ГитРепозиторий; @@ -99,8 +103,8 @@ КонецЕсли; ГитРепозиторий.УстановитьРабочийКаталог(КаталогЛокальнойКопии); - ГитРепозиторий.КлонироватьРепозиторий(URLРепозитария, КаталогЛокальнойКопии); + ГитРепозиторий.КлонироватьРепозиторий(URLРепозитория, КаталогЛокальнойКопии); КонецПроцедуры -Лог = ПараметрыПриложения.Лог(); \ No newline at end of file +Лог = ПараметрыПриложения.Лог(); diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" index eb8b4374..a5aa375b 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Init.os" @@ -1,5 +1,4 @@  - Процедура ОписаниеКоманды(Команда) Экспорт Команда.Опция("u storage-user", "", "пользователь хранилища конфигурации") @@ -49,10 +48,10 @@ СоздатьКаталог(КаталогРабочейКопии); КонецЕсли; - ЭтоКаталогГит = ПроверитьНаличиеРепозитарияГит(КаталогРабочейКопии); + ЭтоКаталогГит = ПроверитьНаличиеРепозиторияГит(КаталогРабочейКопии); Если Не ЭтоКаталогГит Тогда - ИнициализироватьРепозитарий(КаталогРабочейКопии); + ИнициализироватьРепозиторий(КаталогРабочейКопии); КонецЕсли; @@ -87,7 +86,10 @@ // Выполняет инициализацию репо // -Процедура ИнициализироватьРепозитарий(Знач КаталогЛокальнойКопии) +// Параметры: +// КаталогЛокальнойКопии - Строка - каталог локальной копии +// +Процедура ИнициализироватьРепозиторий(Знач КаталогЛокальнойКопии) ГитРепозиторий = Новый ГитРепозиторий; ГитРепозиторий.УстановитьРабочийКаталог(КаталогЛокальнойКопии); @@ -97,7 +99,13 @@ // Возвращает Истина, если каталог является каталогом или подкаталогом гит-репозитория, иначе возвращается Ложь. // -Функция ПроверитьНаличиеРепозитарияГит(Знач КаталогЛокальнойКопии) +// Параметры: +// КаталогЛокальнойКопии - Строка - каталог локальной копии +// +// Возвращаемое значение: +// Булево - Истина, если каталог является каталогом или подкаталогом гит-репозитория +// +Функция ПроверитьНаличиеРепозиторияГит(Знач КаталогЛокальнойКопии) ГитРепозиторий = Новый ГитРепозиторий; ГитРепозиторий.УстановитьРабочийКаталог(КаталогЛокальнойКопии); diff --git "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" index 4db871a6..6a3d4d69 100644 --- "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" +++ "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" @@ -369,7 +369,7 @@ Функция Версия() Экспорт - Возврат "3.6.1"; + Возврат "3.7.0"; КонецФункции diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\321\211\320\270\320\272\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\321\211\320\270\320\272\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" index aeeb2a1c..4c891c55 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\321\211\320\270\320\272\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\321\211\320\270\320\272\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262.os" @@ -39,15 +39,17 @@ // Процедура УстановитьФайлПлагина(Знач ПутьКФайлуПлагина) Экспорт - ФайлПлагина = Новый Файл(ПутьКФайлуПлагина); + ПолныйПутьКФайлуПлагина = ОбъединитьПути(КаталогПлагинов, ПутьКФайлуПлагина); + ФайлПлагина = Новый Файл(ПолныйПутьКФайлуПлагина); Если Не ФайлПлагина.Существует() Тогда - Лог.КритичнаяОшибка("Плагин не установлен. Файл <%1> плагина не найден", ПутьКФайлуПлагина); - ВызватьИсключение ""; + ТекстОшибки = СтрШаблон("Плагин не установлен. Файл <%1> плагина не найден", ПолныйПутьКФайлуПлагина); + Лог.КритичнаяОшибка(ТекстОшибки); + ВызватьИсключение ТекстОшибки; КонецЕсли; УстановщикПлагинов = ПолучитьМенеджерУстановкиПакетов(); - УстановщикПлагинов.УстановитьПакетИзАрхива(ПутьКФайлуПлагина); + УстановщикПлагинов.УстановитьПакетИзАрхива(ПолныйПутьКФайлуПлагина); КонецПроцедуры diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" index c535420e..9a6cb2f1 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\320\272\320\265\321\202\320\275\320\260\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.os" @@ -313,7 +313,7 @@ .ПолеСтрока("Наименование storage-name name") .ПолеСтрока("ПутьКХранилищу storage-path path") .ПолеСтрока("ПутьКРабочемуКаталогу work-dir git-local-path dir") - .ПолеСтрока("ИмяРасширения extention extension") + .ПолеСтрока("ИмяРасширения extension extension") ; Возврат КонструкторПараметров; diff --git "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\241\320\270\321\201\321\202\320\265\320\274\321\213.os" "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\241\320\270\321\201\321\202\320\265\320\274\321\213.os" index 02627d4b..170b18a2 100644 --- "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\241\320\270\321\201\321\202\320\265\320\274\321\213.os" +++ "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\241\320\270\321\201\321\202\320\265\320\274\321\213.os" @@ -38,7 +38,7 @@ // Функция ВерсияПродукта() Экспорт - Возврат "3.6.1"; + Возврат "3.7.0"; КонецФункции // ВерсияПродукта() diff --git a/tasks/build.os b/tasks/build.os index aeae013f..f0aa785b 100644 --- a/tasks/build.os +++ b/tasks/build.os @@ -7,7 +7,6 @@ Процедура СобратьПакет(Знач ВыходнойКаталог, Знач ПутьКМанифестуСборки) КомандаOpm = Новый Команда; - // КомандаOpm.УстановитьРабочийКаталог(Каталог); КомандаOpm.УстановитьКоманду("opm"); КомандаOpm.ДобавитьПараметр("build"); КомандаOpm.ДобавитьПараметр("-m"); @@ -27,9 +26,6 @@ Процедура ПолезнаяРабота() - // КаталогСборки = ВременныеФайлы.СоздатьКаталог(); - // КаталогУстановки = ВременныеФайлы.СоздатьКаталог(); - ПутьКМанифестуСборки = ОбъединитьПути(КаталогПроекта, "build_packagedef"); СобратьПакет(КаталогПроекта, ПутьКМанифестуСборки); @@ -40,6 +36,5 @@ КаталогПроекта = ОбъединитьПути(ТекущийСценарий().Каталог, ".."); Лог = Логирование.ПолучитьЛог("task.install-opm"); -// Лог.УстановитьУровень(УровниЛОга.отладка); ПолезнаяРабота(); diff --git a/tasks/coverage.os b/tasks/coverage.os index ec19ee6c..c960f247 100644 --- a/tasks/coverage.os +++ b/tasks/coverage.os @@ -1,24 +1,26 @@ -#Использовать coverage #Использовать 1commands #Использовать fs +#Использовать coverage -Если АргументыКоманднойСтроки.Количество() = 0 Тогда - ТолькоЮнитТесты = Ложь; -Иначе - ТолькоЮнитТесты = Булево(АргументыКоманднойСтроки[0]); -КонецЕсли; +ИмяПакета = "gitsync"; -ФС.ОбеспечитьПустойКаталог("coverage"); -ПутьКСтат = "coverage/stat.json"; +ИмяКаталогаФайловПокрытия = "coverage"; +ИмяОбщегоФайлаПокрытия = "stat.json"; +ШаблонИменФайловПокрытия = "*.json"; + +ФС.ОбеспечитьПустойКаталог(ИмяКаталогаФайловПокрытия); +ПутьКСтат = ОбъединитьПути(ИмяКаталогаФайловПокрытия, ИмяОбщегоФайлаПокрытия); + +СистемнаяИнформация = Новый СистемнаяИнформация; +ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; Команда = Новый Команда; Команда.УстановитьКоманду("oscript"); -Команда.ДобавитьПараметр("-encoding=utf-8"); -Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат)); -Команда.ДобавитьПараметр("tasks/test.os"); -Если ТолькоЮнитТесты Тогда - Команда.ДобавитьПараметр("true"); +Если НЕ ЭтоWindows Тогда + Команда.ДобавитьПараметр("-encoding=utf-8"); КонецЕсли; +Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат)); +Команда.ДобавитьПараметр("tasks/test.os coverage"); Команда.ПоказыватьВыводНемедленно(Истина); @@ -26,16 +28,15 @@ Файл_Стат = Новый Файл(ПутьКСтат); -ИмяПакета = "gitsync"; - ПроцессорГенерации = Новый ГенераторОтчетаПокрытия(); ПроцессорГенерации.ОтносительныеПути() - .ИмяФайлаСтатистики("stat*.json") + .РабочийКаталог(ИмяКаталогаФайловПокрытия) + .ИмяФайлаСтатистики(ШаблонИменФайловПокрытия) .ФайлСтатистики(Файл_Стат.ПолноеИмя) .GenericCoverage() .Cobertura() .Clover(ИмяПакета) .Сформировать(); -ЗавершитьРаботу(КодВозврата); \ No newline at end of file +ЗавершитьРаботу(КодВозврата); diff --git a/tasks/get-plugins.os b/tasks/get-plugins.os index 4fd76546..ffd27975 100644 --- a/tasks/get-plugins.os +++ b/tasks/get-plugins.os @@ -4,14 +4,14 @@ Перем Лог; -Процедура ПолучитьИсходники(Знач URLРепозитория, Знач Ветка, Знач Каталог) +Процедура ПолучитьИсходники(Знач URLРепозитория, Знач УказательКоммита, Знач Каталог) ГитРепозиторий = Новый ГитРепозиторий; ГитРепозиторий.УстановитьРабочийКаталог(Каталог); ГитРепозиторий.КлонироватьРепозиторий(URLРепозитория, Каталог); - ГитРепозиторий.ПерейтиВВетку(Ветка); + ГитРепозиторий.ПерейтиВВетку(УказательКоммита); КонецПроцедуры @@ -20,12 +20,12 @@ Лог.Информация("Каталог сборки <%1>", Каталог); Лог.Информация("Сборка пакета библиотеки плагинов"); - // Лог.Информация(" - путь к файлу манифеста сборки пакета <%1>", ПутьКМанифестуСборки); + КомандаOpm = Новый Команда; КомандаOpm.УстановитьРабочийКаталог(Каталог); КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("build"); - КомандаOpm.ДобавитьПараметр(Каталог); + КомандаOpm.ДобавитьПараметр("build"); + КомандаOpm.ДобавитьПараметр(Каталог); КомандаOpm.ДобавитьЛогВыводаКоманды("task.install-opm"); КодВозврата = КомандаOpm.Исполнить(); @@ -54,16 +54,16 @@ КонецПроцедуры -Процедура ПолезнаяРабота(ИмяВетки) +Процедура ПолезнаяРабота(УказательКоммита) - URLРепозитория = "https://github.com/khorevaa/gitsync-plugins.git"; + URLРепозитория = "https://github.com/oscript-library/gitsync-plugins.git"; КаталогСборки = ВременныеФайлы.СоздатьКаталог(); Лог.Информация("Установка плагинов из | репозиторий <%1> - | ветки <%2>", URLРепозитория, ИмяВетки); + | указатель <%2>", URLРепозитория, УказательКоммита); - ПолучитьИсходники(URLРепозитория, ИмяВетки, КаталогСборки); + ПолучитьИсходники(URLРепозитория, УказательКоммита, КаталогСборки); СобратьПакет(КаталогСборки); // При удалении временного каталога файлов исходников выводится ошибка @@ -71,7 +71,7 @@ Попытка УдалитьФайлы(КаталогСборки); Исключение - ТекстОшибки = "Попытка удаления временного каталога "+КаталогСборки+" закончилась неудачей"; + ТекстОшибки = СтрШаблон("Попытка удаления временного каталога %1 закончилась неудачей", КаталогСборки); Лог.Предупреждение(ТекстОшибки); КонецПопытки; @@ -80,11 +80,9 @@ Лог = Логирование.ПолучитьЛог("task.install-opm"); Если АргументыКоманднойСтроки.Количество() = 0 Тогда - ИмяВетки = "master"; + УказательКоммита = "master"; Иначе - ИмяВетки = АргументыКоманднойСтроки[0]; + УказательКоммита = АргументыКоманднойСтроки[0]; КонецЕсли; -ПолезнаяРабота(ИмяВетки); - - +ПолезнаяРабота(УказательКоммита); diff --git a/tasks/make.os b/tasks/make.os index daae77ee..366f2834 100644 --- a/tasks/make.os +++ b/tasks/make.os @@ -7,7 +7,6 @@ Процедура СобратьПакет(Знач ВыходнойКаталог, Знач ПутьКМанифестуСборки) КомандаOpm = Новый Команда; - // КомандаOpm.УстановитьРабочийКаталог(Каталог); КомандаOpm.УстановитьКоманду("opm"); КомандаOpm.ДобавитьПараметр("build"); КомандаOpm.ДобавитьПараметр("-m"); @@ -238,7 +237,6 @@ КомандаOpm.ДобавитьПараметр(ФайлПриложения); КомандаOpm.ДобавитьПараметр("p init"); КомандаOpm.ПоказыватьВыводНемедленно(Истина); - // КомандаOpm.("task.install-opm"); КодВозврата = КомандаOpm.Исполнить(); @@ -263,15 +261,13 @@ ПодготовитьПлагины(КаталогУстановки); - ВыполнитьСборкуEXE(КаталогУстановки); + //ВыполнитьСборкуEXE(КаталогУстановки); ВременныеФайлы.УдалитьФайл(КаталогСборки); - //ВременныеФайлы.УдалитьФайл(КаталогУстановки); КонецПроцедуры КаталогПроекта = ОбъединитьПути(ТекущийСценарий().Каталог, ".."); Лог = Логирование.ПолучитьЛог("task.install-opm"); -// Лог.УстановитьУровень(УровниЛОга.отладка); ПолезнаяРабота(); diff --git a/tasks/oscript.cfg b/tasks/oscript.cfg index 874f3d2d..41016836 100644 --- a/tasks/oscript.cfg +++ b/tasks/oscript.cfg @@ -1 +1 @@ -lib.system=../oscript_modules +lib.additional=../oscript_modules diff --git a/tasks/test.os b/tasks/test.os index 12f9731c..9a1efee8 100644 --- a/tasks/test.os +++ b/tasks/test.os @@ -1,5 +1,7 @@ +// BSLLS:LatinAndCyrillicSymbolInWord-off #Использовать 1bdd #Использовать 1testrunner +#Использовать fs #Использовать 1commands Функция ПрогнатьТесты() @@ -23,42 +25,50 @@ Успешно = РезультатТестирования = 0; Возврат Успешно; -КонецФункции // ПрогнатьТесты() +КонецФункции -Функция ПрогнатьФичи_core() - - ПутьОтчетаJUnit = "./bdd-log.xml"; +Функция ПрогнатьФичи_core(Знач КаталогФайловПокрытия) + + ПутьКОтчетам = ОбъединитьПути("build", "reports"); + ФС.ОбеспечитьКаталог(ПутьКОтчетам); - КаталогФич = ОбъединитьПути(".", "features", "core"); + ПутьОтчетаJUnit = ОбъединитьПути(ПутьКОтчетам, "bdd-core-log.xml"); + + КаталогФич = ОбъединитьПути("features", "core"); Файл_КаталогФич = Новый Файл(КаталогФич); - Если Не Файл_КаталогФич.Существует() Тогда - Сообщить(СтрШаблон("Не найден каталог фич %1", КаталогФич)); - Возврат Истина; - КонецЕсли; ИсполнительБДД = Новый ИсполнительБДД; + + Если ЗначениеЗаполнено(КаталогФайловПокрытия) Тогда + ИсполнительБДД.СохранитьВКонтекст("ПризнакСтатистикиСкриптовOnescript", Новый Файл(КаталогФайловПокрытия)); + КонецЕсли; + РезультатыВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, Файл_КаталогФич); ИтоговыйРезультатВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); - СтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().НеВыполнялся; + СтатусыВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения(); + + СтатусВыполнения = СтатусыВыполнения.НеВыполнялся; Если РезультатыВыполнения.Строки.Количество() > 0 Тогда - + СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); - + ИсполнительБДД.ПоказатьПроблемныеСценарии(РезультатыВыполнения); + + ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог()); КонецЕсли; ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit; ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit); - Сообщить(СтрШаблон("Результат прогона фич <%1> - |", ИтоговыйРезультатВыполнения)); + Сообщить(СтрШаблон("Результат прогона фич <%1>. Путь %2 + |", ИтоговыйРезультатВыполнения, КаталогФич)); + + Возврат ИтоговыйРезультатВыполнения <> СтатусыВыполнения.Сломался; +КонецФункции - Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался; -КонецФункции // ПрогнатьФичи() +Функция ПрогнатьФичи_cmd(Знач КаталогФайловПокрытия) -Функция ПрогнатьФичи_cmd() - КаталогПроекта = ОбъединитьПути(ТекущийСценарий().Каталог, ".."); ПутьКПриложению = ОбъединитьПути(КаталогПроекта, "src", "cmd", "gitsync.os"); @@ -67,40 +77,47 @@ УстановитьПеременнуюСреды("GITSYNC_TESTING_PATH", ФайлПутьКПриложению.ПолноеИмя); - ПутьОтчетаJUnit = ОбъединитьПути(КаталогПроекта, "bdd-log-cmd.xml"); + ПутьКОтчетам = ОбъединитьПути("build", "reports"); + ФС.ОбеспечитьКаталог(ПутьКОтчетам); - КаталогФич = ОбъединитьПути(КаталогПроекта, "features", "cmd"); + ПутьОтчетаJUnit = ОбъединитьПути(ПутьКОтчетам, "bdd-cmd-log.xml"); + + КаталогФич = ОбъединитьПути("features", "cmd"); Файл_КаталогФич = Новый Файл(КаталогФич); - Если Не Файл_КаталогФич.Существует() Тогда - Сообщить(СтрШаблон("Не найден каталог фич %1", КаталогФич)); - Возврат Истина; - КонецЕсли; ИсполнительБДД = Новый ИсполнительБДД; + + Если ЗначениеЗаполнено(КаталогФайловПокрытия) Тогда + ИсполнительБДД.СохранитьВКонтекст("ПризнакСтатистикиСкриптовOnescript", Новый Файл(КаталогФайловПокрытия)); + КонецЕсли; + РезультатыВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, Файл_КаталогФич); ИтоговыйРезультатВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); - СтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().НеВыполнялся; + СтатусыВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения(); + + СтатусВыполнения = СтатусыВыполнения.НеВыполнялся; Если РезультатыВыполнения.Строки.Количество() > 0 Тогда - + СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); - + ИсполнительБДД.ПоказатьПроблемныеСценарии(РезультатыВыполнения); + + ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог()); КонецЕсли; ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit; ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit); - Сообщить(СтрШаблон("Результат прогона фич <%1> - |", ИтоговыйРезультатВыполнения)); + Сообщить(СтрШаблон("Результат прогона фич <%1>. Путь %2 + |", ИтоговыйРезультатВыполнения, КаталогФич)); + + Возврат ИтоговыйРезультатВыполнения <> СтатусыВыполнения.Сломался; +КонецФункции - Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался; -КонецФункции // ПрогнатьФичи() +Функция ПрогнатьФичи_exe(Знач КаталогФайловПокрытия) -Функция ПрогнатьФичи_exe() - СобратьEXE(); - КаталогПроекта = ОбъединитьПути(ТекущийСценарий().Каталог, ".."); ПутьКПриложению = ОбъединитьПути(КаталогПроекта, "bin", "gitsync.exe"); @@ -109,41 +126,49 @@ УстановитьПеременнуюСреды("GITSYNC_TESTING_PATH", ФайлПутьКПриложению.ПолноеИмя); - ПутьОтчетаJUnit = ОбъединитьПути(КаталогПроекта, "bdd-log-exe.xml"); + ПутьКОтчетам = ОбъединитьПути("build", "reports"); + ФС.ОбеспечитьКаталог(ПутьКОтчетам); + + ПутьОтчетаJUnit = ОбъединитьПути(ПутьКОтчетам, "bdd-exe-log.xml"); - КаталогФич = ОбъединитьПути(КаталогПроекта, "features", "cmd"); + КаталогФич = ОбъединитьПути("features", "cmd"); Файл_КаталогФич = Новый Файл(КаталогФич); - Если Не Файл_КаталогФич.Существует() Тогда - Сообщить(СтрШаблон("Не найден каталог фич %1", КаталогФич)); - Возврат Истина; - КонецЕсли; ИсполнительБДД = Новый ИсполнительБДД; + + Если ЗначениеЗаполнено(КаталогФайловПокрытия) Тогда + ИсполнительБДД.СохранитьВКонтекст("ПризнакСтатистикиСкриптовOnescript", Новый Файл(КаталогФайловПокрытия)); + КонецЕсли; + РезультатыВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, Файл_КаталогФич); ИтоговыйРезультатВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); - СтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().НеВыполнялся; + СтатусыВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения(); + + СтатусВыполнения = СтатусыВыполнения.НеВыполнялся; Если РезультатыВыполнения.Строки.Количество() > 0 Тогда - + СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); - + ИсполнительБДД.ПоказатьПроблемныеСценарии(РезультатыВыполнения); + + ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог()); КонецЕсли; ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit; ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit); - Сообщить(СтрШаблон("Результат прогона фич <%1> - |", ИтоговыйРезультатВыполнения)); + Сообщить(СтрШаблон("Результат прогона фич <%1>. Путь %2 + |", ИтоговыйРезультатВыполнения, КаталогФич)); - Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался; -КонецФункции // ПрогнатьФичи() + Возврат ИтоговыйРезультатВыполнения <> СтатусыВыполнения.Сломался; +КонецФункции Процедура СобратьEXE() КомандаOpm = Новый Команда; КомандаOpm.УстановитьКоманду("opm"); - КомандаOpm.ДобавитьПараметр("run make"); + КомандаOpm.ДобавитьПараметр("run make"); КодВозврата = КомандаOpm.Исполнить(); @@ -155,89 +180,101 @@ КонецПроцедуры -Функция ПрогнатьФичи_opm() - - ПутьОтчетаJUnit = "./bdd-log.xml"; +Функция ПрогнатьФичи_opm(Знач КаталогФайловПокрытия) + + ПутьКОтчетам = ОбъединитьПути("build", "reports"); + ФС.ОбеспечитьКаталог(ПутьКОтчетам); - КаталогФич = ОбъединитьПути(".", "features", "opm"); + ПутьОтчетаJUnit = ОбъединитьПути(ПутьКОтчетам, "bdd-opm-log.xml"); + + КаталогФич = ОбъединитьПути("features", "opm"); Файл_КаталогФич = Новый Файл(КаталогФич); - Если Не Файл_КаталогФич.Существует() Тогда - Сообщить(СтрШаблон("Не найден каталог фич %1", КаталогФич)); - Возврат Истина; - КонецЕсли; ИсполнительБДД = Новый ИсполнительБДД; + + Если ЗначениеЗаполнено(КаталогФайловПокрытия) Тогда + ИсполнительБДД.СохранитьВКонтекст("ПризнакСтатистикиСкриптовOnescript", Новый Файл(КаталогФайловПокрытия)); + КонецЕсли; + РезультатыВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, Файл_КаталогФич); ИтоговыйРезультатВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); - СтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().НеВыполнялся; + СтатусыВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения(); + + СтатусВыполнения = СтатусыВыполнения.НеВыполнялся; Если РезультатыВыполнения.Строки.Количество() > 0 Тогда - + СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); - + ИсполнительБДД.ПоказатьПроблемныеСценарии(РезультатыВыполнения); + + ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог()); КонецЕсли; ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit; ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit); - Сообщить(СтрШаблон("Результат прогона фич <%1> - |", ИтоговыйРезультатВыполнения)); + Сообщить(СтрШаблон("Результат прогона фич <%1>. Путь %2 + |", ИтоговыйРезультатВыполнения, КаталогФич)); - Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался; -КонецФункции // ПрогнатьФичи() + Возврат ИтоговыйРезультатВыполнения <> СтатусыВыполнения.Сломался; +КонецФункции -Функция ПрогнатьФичи(ТолькоЮнитТесты) +Функция ПрогнатьФичи(Знач КаталогФайловПокрытия) + + ФичиПрошли_core = ПрогнатьФичи_core(КаталогФайловПокрытия); + ФичиПрошли_cmd = ПрогнатьФичи_cmd(КаталогФайловПокрытия); - Если ТолькоЮнитТесты Тогда - Возврат Истина; - КонецЕсли; + // Закомментировано, т.к. при сборке exe возникает ошибка + // ФичиПрошли_exe = ПрогнатьФичи_exe(КаталогФайловПокрытия); + ФичиПрошли_exe = Истина; - ФичиПрошли_opm = ПрогнатьФичи_opm(); - ФичиПрошли_core = ПрогнатьФичи_core(); - ФичиПрошли_cmd = ПрогнатьФичи_cmd(); - ФичиПрошли_exe = ПрогнатьФичи_exe(); - // ФичиПрошли_exe = Истина; + // ПрогнатьФичи_opm всегда выполнять последней, т.к. в процессе ее выполнения очищается ./oscript_modules + ФичиПрошли_opm = ПрогнатьФичи_opm(КаталогФайловПокрытия); - Возврат + Возврат ФичиПрошли_opm И ФичиПрошли_core И ФичиПрошли_cmd - И ФичиПрошли_exe - ; - + И ФичиПрошли_exe; КонецФункции -ТестыПрошли = Истина; +ИмяКаталогаФайловПокрытия = "coverage"; +КаталогФайловПокрытия = ""; -Если АргументыКоманднойСтроки.Количество() = 0 Тогда - ТолькоЮнитТесты = Ложь; -Иначе - ТолькоЮнитТесты = Булево(АргументыКоманднойСтроки[0]); -КонецЕсли; +Для Каждого Элемент Из АргументыКоманднойСтроки Цикл + Если Элемент = "coverage" Тогда + + КаталогФайловПокрытия = ОбъединитьПути(ТекущийКаталог(), ".", ИмяКаталогаФайловПокрытия); + ФС.ОбеспечитьПустойКаталог(КаталогФайловПокрытия); + + Прервать; + КонецЕсли; +КонецЦикла; -// Попытка -// ТестыПрошли = ПрогнатьТесты(); +ТестыПрошли = Истина; -// Исключение -// ТестыПрошли = Ложь; -// Сообщить(СтрШаблон("Тесты через 1testrunner выполнены неудачно -// |%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()))); -// КонецПопытки; +Попытка + ТестыПрошли = ПрогнатьТесты(); +Исключение + ТестыПрошли = Ложь; + Сообщить(СтрШаблон("Тесты через 1testrunner выполнены неудачно + |%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()))); +КонецПопытки; ФичиПрошли = Истина; Попытка - ФичиПрошли = ПрогнатьФичи(ТолькоЮнитТесты); + ФичиПрошли = ПрогнатьФичи(КаталогФайловПокрытия); Исключение ФичиПрошли = Ложь; Сообщить(СтрШаблон("Тесты поведения через 1bdd выполнены неудачно |%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()))); КонецПопытки; -Если Не ТестыПрошли Или Не ФичиПрошли Тогда +Сообщить(СтрШаблон("Результат прогона всех фич <%1> +|", ФичиПрошли)); + +Если Не ФичиПрошли Или Не ТестыПрошли Тогда ВызватьИсключение "Тестирование завершилось неудачно!"; -Иначе - Сообщить(СтрШаблон("Результат прогона тестов <%1> - |", ТестыПрошли)); -КонецЕсли; \ No newline at end of file +КонецЕсли; diff --git a/tests/fixtures/ext.yaml b/tests/fixtures/ext.yaml index 3f02e665..01531c3e 100644 --- a/tests/fixtures/ext.yaml +++ b/tests/fixtures/ext.yaml @@ -1,5 +1,5 @@ name: Расширение1 - extention: test + extension: test path: <КаталогХранилищаРасширения> dir: <ПутьКаталогаИсходниковРасширения> storage-user: Администратор diff --git "a/tests/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262_test.os" "b/tests/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262_test.os" index 45e707ca..11624651 100644 --- "a/tests/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262_test.os" +++ "b/tests/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262_test.os" @@ -2,13 +2,11 @@ #Использовать asserts #Использовать logos -Перем юТест; Перем Лог; +Перем КаталогПлагинов; Функция ПолучитьСписокТестов(Знач Тестирование) Экспорт - юТест = Тестирование; - ИменаТестов = Новый Массив; ИменаТестов.Добавить("ТестДолжен_ПроверитьИндексПлагинов"); @@ -19,45 +17,66 @@ КонецФункции -Процедура ТестДолжен_ПроверитьИндексПлагинов() Экспорт - +Процедура ПередЗапускомТестов() Экспорт + КаталогПлагинов = ВременныеФайлы.СоздатьКаталог(); + КаталогФич = ОбъединитьПути(КаталогПроекта(), "features", "core"); + КаталогТестовогоПлагина = ОбъединитьПути(КаталогФич, "step_definitions", "testsata", "test_plugin"); + + ФС.КопироватьСодержимоеКаталога(КаталогТестовогоПлагина, КаталогПлагинов); + + Команда = Новый Команда; + Команда.УстановитьКоманду("opm"); + Команда.ДобавитьПараметр("build"); + Команда.ДобавитьПараметр("--out"); + Команда.ДобавитьПараметр(КаталогПлагинов); + Команда.ДобавитьПараметр(КаталогПлагинов); + КодВозврата = Команда.Исполнить(); + + Лог.Информация(Команда.ПолучитьВывод()); + + Если Не КодВозврата = 0 Тогда + ВызватьИсключение Новый ИнформацияОбОшибке("Ошибка создания тестового плагина", Команда.ПолучитьВывод()); + КонецЕсли; + + МассивФайлов = НайтиФайлы(КаталогПлагинов, "*.ospx"); + + Если МассивФайлов.Количество() = 0 Тогда + ВызватьИсключение Новый ИнформацияОбОшибке("Ошибка создания тестового плагина", "Не найден собранный файл плагина"); + КонецЕсли; + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьИндексПлагинов() Экспорт МенеджерПлагинов = Новый МенеджерПлагинов(КаталогПлагинов); - МенеджерПлагинов.УстановитьФайлПлагин(ОбъединитьПути(КаталогПроекта(), "tests", "test_plugin-0.0.1.ospx")); + МенеджерПлагинов.УстановитьФайлПлагин("test_plugin-0.0.1.ospx"); МенеджерПлагинов.ЗагрузитьПлагины(); ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов(); - Ожидаем.Что(ИндексПлагинов.Количество(), "Количество плагинов должно быть равны").Равно(1); - ВременныеФайлы.УдалитьФайл(КаталогПлагинов); + Ожидаем.Что(ИндексПлагинов.Количество(), "Количество плагинов должно быть равно").Равно(1); КонецПроцедуры Процедура ТестДолжен_ПроверитьВключениеПлагинов() Экспорт - КаталогПлагинов = ВременныеФайлы.СоздатьКаталог(); - МенеджерПлагинов = Новый МенеджерПлагинов(КаталогПлагинов); - МенеджерПлагинов.УстановитьФайлПлагин(ОбъединитьПути(КаталогПроекта(), "tests", "test_plugin-0.0.1.ospx")); + МенеджерПлагинов.УстановитьФайлПлагин("test_plugin-0.0.1.ospx"); МенеджерПлагинов.ЗагрузитьПлагины(); ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов(); - Ожидаем.Что(ИндексПлагинов.Количество(), "Количество плагинов должно быть равны").Равно(1); + Ожидаем.Что(ИндексПлагинов.Количество(), "Количество плагинов должно быть равно").Равно(1); МенеджерПлагинов.ВключитьПлагин("test_plugin"); Ожидаем.Что(ИндексПлагинов["test_plugin"].Включен(), "Плагин должен быть включен").ЭтоИстина(); - ВременныеФайлы.УдалитьФайл(КаталогПлагинов); - КонецПроцедуры Процедура ТестДолжен_ПроверитьВыключениеПлагинов() Экспорт - КаталогПлагинов = ВременныеФайлы.СоздатьКаталог(); - МенеджерПлагинов = Новый МенеджерПлагинов(КаталогПлагинов); - МенеджерПлагинов.УстановитьФайлПлагин(ОбъединитьПути(КаталогПроекта(), "tests", "test_plugin-0.0.1.ospx")); + МенеджерПлагинов.УстановитьФайлПлагин("test_plugin-0.0.1.ospx"); МенеджерПлагинов.ЗагрузитьПлагины(); ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов(); @@ -74,19 +93,13 @@ Ожидаем.Что(ИндексПлагинов["test_plugin"].Включен(), "Плагин должен быть выключен").ЭтоЛожь(); - ВременныеФайлы.УдалитьФайл(КаталогПлагинов); - КонецПроцедуры -Функция КаталогПлагинов() - - КаталогТестов = ТекущийСценарий().Каталог; +Процедура ПослеЗапускаТестов() Экспорт - КаталогПлагинов = ОбъединитьПути(КаталогТестов, "fixtures", "КаталогПлагинов"); - Файл = Новый Файл(КаталогПлагинов); - Возврат Файл.ПолноеИмя; + ВременныеФайлы.УдалитьФайл(КаталогПлагинов); -КонецФункции +КонецПроцедуры Функция КаталогПроекта() @@ -97,4 +110,3 @@ КонецФункции Лог = Логирование.ПолучитьЛог("oscript.lib.gitsync"); -// Лог.УстановитьУровень(УровниЛога.Отладка); \ No newline at end of file diff --git a/travis-ci.sh b/travis-ci.sh deleted file mode 100644 index 65738fec..00000000 --- a/travis-ci.sh +++ /dev/null @@ -1,27 +0,0 @@ - - -GITNAME="${GIT_NAME:-"ci"}" -GITEMAIL="${GIT_EMAIL:-"ci@me"}" - -set -e - -git config --global user.name $GITNAME -git config --global user.email $GITEMAIL - -echo "Устанавливаю версию OScript <$OSCRIPT_VERSION>" -curl http://oscript.io/downloads/$OSCRIPT_VERSION/deb > oscript.deb -dpkg -i oscript.deb -rm -f oscript.deb -echo "===================================" -echo "Установка зависимостей тестирования" -opm install 1testrunner; -opm install 1bdd; -opm install coverage; - -opm install; - -# cat /usr/bin/opm -echo "===================================" - -echo "Запуск тестирования пакета" -oscript ./tasks/coverage.os;