Skip to content

Commit

Permalink
Merge branch 'release/v1.8.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
artbear committed Oct 31, 2019
2 parents 9525e82 + e11d645 commit 44927b1
Show file tree
Hide file tree
Showing 44 changed files with 663 additions and 302 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@ ConfigDumpInfo.xml
.vscode/launch.json
tools/oscript.cfg
src/oscript.cfg
.scannerwork/
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
Описание
===

Библиотека проекта `oscript.io` для автоматизации различных операции для работы с `cf/cfe/epf` файлами и простой запуск сценариев поведения (BDD) и тестов из фреймворка [Vanessa-ADD](https://github.com/silverbulleters/add).
Консольное приложение проекта `oscript.io` для автоматизации различных операции для работы с `cf/cfe/epf` файлами, а также автоматизация запуска сценариев поведения (BDD) и тестов из фреймворка [Vanessa-ADD](https://github.com/silverbulleters/add).

Предназначена для организации разработки 1С в режиме, когда работа в git идет напрямую с исходниками или работаем через хранилище 1С.
Предназначено для организации разработки 1С в режиме, когда работа в git идет напрямую с исходниками или работаем через хранилище 1С.

Позволяет обеспечить единообразный запуск команд "локально" и на серверах сборки `CI-CD`

Expand Down Expand Up @@ -52,7 +52,9 @@ call runner help
В командной строке нужно перейти в каталог с проектом и выполнить ```tools\compile_epf.bat```, по окончанию в каталоге build\epf должны появиться обработки.
Вся разработка в конфигураторе делается в каталоге build, по окончанию доработок запускаем ```tools\decompile_epf.bat```

Обязательно наличие установленного v8unpack версии не ниже 3.0.38 в переменной PATH. Установку можно взять https://github.com/dmpas/v8unpack#build
Обязательно наличие установленного v8unpack версии не ниже 3.0.38 в переменной PATH.
- Установку можно взять в релизах утилиты - https://github.com/e8tools/v8unpack/releases
- Подробнее про утилиту v8unpack - https://github.com/e8tools/v8unpack

Примеры настройки и вызова
===
Expand Down
73 changes: 70 additions & 3 deletions features/ПроверкаСинтаксиса.feature
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@
И Я добавляю параметр "--mode -ThinClient -WebClient -Server -ExternalConnection -ThickClientOrdinaryApplication" для команды "oscript"
Когда Я выполняю команду "oscript"
# И Я сообщаю вывод команды "oscript"
И Код возврата команды "oscript" равен 0
Тогда Вывод команды "oscript" содержит
# | /CheckConfig -ThinClient -WebClient -Server -ExternalConnection -ThickClientOrdinaryApplication |
| Результат синтакс-контроля: Ошибок не обнаружено |

И Код возврата команды "oscript" равен 0
# Тогда в лог-файле запуска продукта есть строка 'testsuite name="Синтаксическая проверка конфигурации"'

Сценарий: Синтаксическая проверка временной файловой базы с результатами в формате JUnit
Expand All @@ -35,12 +35,12 @@
И Я добавляю параметр "--mode -ThinClient -WebClient -Server -ExternalConnection -ThickClientOrdinaryApplication" для команды "oscript"
Когда Я выполняю команду "oscript"
# И Я сообщаю вывод команды "oscript"
И Код возврата команды "oscript" равен 0
И Файл "junit.xml" содержит
"""
<testsuite name="CheckConfig.base">
"""
И Файл "junit.xml" содержит 'status="passed"'
И Код возврата команды "oscript" равен 0
# Тогда в лог-файле запуска продукта есть строка 'testsuite name="Синтаксическая проверка конфигурации"'

Сценарий: Синтаксическая проверка временной файловой базы с результатами в формате JUnit с группировкой
Expand All @@ -54,12 +54,12 @@
И Я добавляю параметр "--mode -ThinClient -WebClient -Server -ExternalConnection -ThickClientOrdinaryApplication" для команды "oscript"
Когда Я выполняю команду "oscript"
# И Я сообщаю вывод команды "oscript"
И Код возврата команды "oscript" равен 0
И Файл "junit.xml" содержит
"""
<testsuite name="CheckConfig.base">
"""
И Файл "junit.xml" содержит 'status="passed"'
И Код возврата команды "oscript" равен 0
# Тогда в лог-файле запуска продукта есть строка 'testsuite name="Синтаксическая проверка конфигурации"'

Сценарий: Синтаксическая проверка базы с ошибками с результатами в формате JUnit с группировкой
Expand All @@ -76,6 +76,7 @@
И Я добавляю параметр "--ibconnection /Fbuild/ib" для команды "oscript"
И Я добавляю параметр "--mode -ThinClient -WebClient -Server -ExternalConnection -ThickClientOrdinaryApplication" для команды "oscript"
Когда Я выполняю команду "oscript"
И Код возврата равен 1
И файл "junit.xml" существует
И Файл "junit.xml" содержит
"""
Expand All @@ -96,6 +97,7 @@
И Я добавляю параметр "--ibconnection /Fbuild/ib" для команды "oscript"
И Я добавляю параметр "--mode -ThinClient -WebClient -Server -ExternalConnection -ThickClientOrdinaryApplication" для команды "oscript"
Когда Я выполняю команду "oscript"
И Код возврата равен 1
И файл "junit.xml" существует
И Файл "junit.xml" содержит
"""
Expand All @@ -114,9 +116,74 @@
И Я добавляю параметр "--ibconnection /Fbuild/ib" для команды "oscript"
И Я добавляю параметр "--mode -ThinClient -WebClient -Server -ExternalConnection -ThickClientOrdinaryApplication -EmptyHandlers" для команды "oscript"
Когда Я выполняю команду "oscript"
И Код возврата равен 0
И файл "junit.xml" существует
И Файл "junit.xml" содержит
"""
<testsuite name="CheckConfig.base">
"""
И Файл "junit.xml" содержит 'status="passed"'

Сценарий: Синтаксическая проверка временной файловой базы с указанием имени тестового набора для JUnit
# Допустим я включаю отладку лога с именем "oscript.app.vanessa-runner"
Допустим Я очищаю параметры команды "oscript" в контексте

Когда Я добавляю параметр "<КаталогПроекта>/src/main.os syntax-check" для команды "oscript"
И Я добавляю параметр "--junitpath junit.xml" для команды "oscript"
И Я добавляю параметр "--ibconnection /Fbuild/ib" для команды "oscript"
И Я добавляю параметр "--testsuitename custom" для команды "oscript"
И Я добавляю параметр "--mode -ThinClient -WebClient -Server -ExternalConnection -ThickClientOrdinaryApplication" для команды "oscript"
Когда Я выполняю команду "oscript"
# И Я сообщаю вывод команды "oscript"
И Код возврата равен 0
И Файл "junit.xml" содержит
"""
<testsuite name="CheckConfig.custom">
"""
И Файл "junit.xml" содержит 'status="passed"'
И Код возврата команды "oscript" равен 0
# Тогда в лог-файле запуска продукта есть строка 'testsuite name="Синтаксическая проверка конфигурации"'

Сценарий: Синтаксическая проверка временной файловой базы с несуществующего каталога для JUnit
# Допустим я включаю отладку лога с именем "oscript.app.vanessa-runner"
Допустим Я очищаю параметры команды "oscript" в контексте

Когда Я добавляю параметр "<КаталогПроекта>/src/main.os syntax-check" для команды "oscript"
И Я добавляю параметр "--junitpath out/junit.xml" для команды "oscript"
И Я добавляю параметр "--ibconnection /Fbuild/ib" для команды "oscript"
И Я добавляю параметр "--testsuitename custom" для команды "oscript"
И Я добавляю параметр "--mode -ThinClient -WebClient -Server -ExternalConnection -ThickClientOrdinaryApplication" для команды "oscript"
Когда Я выполняю команду "oscript"
# И Я сообщаю вывод команды "oscript"
И Код возврата равен 0
И Файл "out/junit.xml" содержит
"""
<testsuite name="CheckConfig.custom">
"""
И Файл "out/junit.xml" содержит 'status="passed"'
И Код возврата команды "oscript" равен 0
# Тогда в лог-файле запуска продукта есть строка 'testsuite name="Синтаксическая проверка конфигурации"'

Сценарий: Синтаксическая проверка базы с ошибками с результатами в формате Allure2 во вложенном каталоге
# Допустим я включаю отладку лога с именем "oscript.app.vanessa-runner"
# Допустим я включаю полную отладку логов пакетов OneScript
Допустим Я очищаю параметры команды "oscript" в контексте

И Я копирую каталог "cfbad" из каталога "tests/fixtures" проекта в рабочий каталог
И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cfbad --nocacheuse --ibconnection /F./build/ib"

Когда Я очищаю параметры команды "oscript" в контексте

Когда Я добавляю параметр "<КаталогПроекта>/src/main.os syntax-check" для команды "oscript"
И Я добавляю параметр "--allure-results2 out-my/allure-my" для команды "oscript"
И Я добавляю параметр "--ibconnection /Fbuild/ib" для команды "oscript"
И Я добавляю параметр "--mode -ThinClient -WebClient -Server -ExternalConnection -ThickClientOrdinaryApplication" для команды "oscript"
Когда Я выполняю команду "oscript"
# И Я показываю вывод команды
И Код возврата равен 1
И Вывод команды "oscript" содержит
| МодульУправляемогоПриложения(2,13)}: Переменная не определена (Итина) |
| Неопознанный оператор |
| {Справочник.Справочник1.МодульОбъекта(2,10)}: Неопознанный оператор |
И каталог "out-my/allure-my" существует
И файл "out-my/allure-my/*-result.json" существует
31 changes: 31 additions & 0 deletions features/ПроверкаТестов.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# language: ru

Функционал: Проверка запуска и работы xunit-тестов через Ванесса-АДД
Как Разработчик/Инженер по тестированию
Я Хочу иметь возможность автоматической проверки запуска тестов через Ванесса-АДД
Чтобы удостовериться в качестве подготовленной конфигурации

Контекст:
Допустим я подготовил репозиторий и рабочий каталог проекта
И я подготовил рабочую базу проекта "./build/ib" по умолчанию

И Я копирую каталог "xdd_test" из каталога "tests/fixtures" проекта в подкаталог "build" рабочего каталога
И Я очищаю параметры команды "oscript" в контексте
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os compileepf build/xdd_test build/xdd_test.epf"
И Я очищаю параметры команды "oscript" в контексте

И Я копирую каталог "feature" из каталога "tests/fixtures" проекта в подкаталог "build" рабочего каталога

Сценарий: Запуск тестирования xunit

Когда Я добавляю параметр "<КаталогПроекта>/src/main.os xunit" для команды "oscript"
И Я добавляю параметр "build/xdd_test.epf" для команды "oscript"
И Я добавляю параметр "--ibconnection /Fbuild/ib" для команды "oscript"
И Я добавляю параметр "--workspace ./build" для команды "oscript"
Когда Я выполняю команду "oscript"
Тогда Вывод команды "oscript" содержит
| Выполняю тесты с помощью фреймворка Vanessa-ADD (Vanessa Automation Driven Development) |
| Выполнение тестов завершено |

И Код возврата команды "oscript" равен 0

3 changes: 1 addition & 2 deletions packagedef
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,13 @@
.ЗависитОт("cmdline", "1.0.0")
.ЗависитОт("tempfiles", "0.2.2")
.ЗависитОт("asserts", "1.2.0")
.ЗависитОт("v8runner", "1.1.3")
.ЗависитОт("v8runner", "1.4.0")
.ЗависитОт("strings", "0.4.1")
.ЗависитОт("json", "1.1.0")
.ЗависитОт("1commands", "1.3.5")
.ЗависитОт("1bdd", "1.7.0")
.ЗависитОт("fs", "1.0.0")
.ЗависитОт("ParserFileV8i", "0.0.5")
.ЗависитОт("add", "6.0.0")
.ЗависитОт("v8storage", "0.6.5")
.ЗависитОт("v8unpack", "1.0.1")
.ЗависитОт("opm", "0.14.4")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@
Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт

ТекстОписания =
" Выгрузка информационной базы в файл.
| ";
" Выгрузка информационной базы в файл.";

ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды,
ТекстОписания);

Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "dtpath", "Путь к результату - выгружаемому файлу с данными (*.dt)");
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "dtpath",
"Путь к результату - выгружаемому файлу с данными (*.dt)");

Парсер.ДобавитьКоманду(ОписаниеКоманды);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@
Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт

ТекстОписания =
" Выгрузка файла конфигурации из ИБ.
| ";
" Выгрузка файла конфигурации из ИБ.";

ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды,
ТекстОписания);

Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "cfpath", "Путь к результату - выгружаемому файлу конфигурации (*.cf)");
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "cfpath",
"Путь к результату - выгружаемому файлу конфигурации (*.cf)");

Парсер.ДобавитьКоманду(ОписаниеКоманды);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@
Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт

ТекстОписания =
" Выгрузка файла расширения из ИБ.
| ";
" Выгрузка файла расширения из ИБ.";

ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды,
ТекстОписания);

Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "cfepath", "Путь к результату - выгружаемому файлу расширения (*.cfe)");
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "cfepath",
"Путь к результату - выгружаемому файлу расширения (*.cfe)");
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "extname", "Имя расширения");


Expand Down
Loading

0 comments on commit 44927b1

Please sign in to comment.