Skip to content

Commit

Permalink
Merge branch 'release/v1.10.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
artbear committed May 3, 2020
2 parents 4cf4f3a + 680b301 commit 3789e8c
Show file tree
Hide file tree
Showing 61 changed files with 2,741 additions and 2,207 deletions.
194 changes: 149 additions & 45 deletions README.md

Large diffs are not rendered by default.

14 changes: 14 additions & 0 deletions examples/example.env.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,20 @@
"--pathvanessa":"d:/git/vanessa/build/out/epf/vanessa-behavior.epf",
"--additional":"/DisplayAllFunctions /L uk"
},
"syntax-check": {
"--groupbymetadata":true,
"--exception-file":"",
"--mode": [
"-ExtendedModulesCheck",
"-ThinClient",
"-WebClient",
"-Server",
"-ExternalConnection",
"-ThickClientOrdinaryApplication"
]
// "-Extension" : "ИмяРасширения",
// "-AllExtensions" : true
},
"compile":{
"inputPath":"./cf",
"outputPath":"./build/1Cv8.cf"
Expand Down
22 changes: 10 additions & 12 deletions features/step_definitions/opm-build.os
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Реализация шагов BDD-фич/сценариев с помощью фреймворка https://github.com/artbear/1bdd
#Использовать tempfiles

Перем БДД; //контекст фреймворка 1bdd
Перем БДД; // контекст фреймворка 1bdd

// Метод выдает список шагов, реализованных в данном файле-шагов
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
Expand Down Expand Up @@ -29,18 +29,18 @@

КонецПроцедуры

//Я собираю пакет во временном каталоге
// Я собираю пакет во временном каталоге
Процедура ЯСобираюПакетВоВременномКаталоге() Экспорт
ПутьВременногоКаталога = БДД.ПолучитьИзКонтекста("ВременныйКаталог");
СтрокаЗапуска = СтрШаблон("opm build -out %2 %1", ТекущийКаталог(), ПутьВременногоКаталога);
СтрокаЗапуска = СтрШаблон("opm build --out %2 %1", ТекущийКаталог(), ПутьВременногоКаталога);
КодВозврата = ВыполнитьКоманду(СтрокаЗапуска);

Ожидаем.Что(КодВозврата,
"Ожидали, что сборка пакета (opm build) завершится с кодом возврата 0, а получили другое значение").
Равно(0);
КонецПроцедуры

//я устанавливаю пакет из файла собранного пакета
// я устанавливаю пакет из файла собранного пакета
Процедура ЯУстанавливаюПакетИзФайлаСобранногоПакета() Экспорт
ЗапоминаюСобранныйФайлПакетаВКонтексте();
ЗапоминаюВерсиюСобранногоПакетаВКонтексте();
Expand All @@ -53,7 +53,7 @@

КонецПроцедуры

//я выполняю команду получения версии установленного пакета "oscript src\main.os version"
// я выполняю команду получения версии установленного пакета "oscript src\main.os version"
Процедура ЯВыполняюКомандуПолученияВерсииУстановленногоПакета(Знач СтрокаЗапуска) Экспорт
УстановленнаяВерсияПакета = "";
КодВозврата = ВыполнитьКоманду(СтрокаЗапуска, УстановленнаяВерсияПакета);
Expand All @@ -63,7 +63,7 @@

КонецПроцедуры

//версия установленного пакета равна версии пакета из контекста
// версия установленного пакета равна версии пакета из контекста
Процедура ВерсияУстановленногоПакетаРавнаВерсииПакетаИзКонтекста() Экспорт
УстановленнаяВерсияПакета = БДД.ПолучитьИзКонтекста("УстановленнаяВерсияПакета");
ВерсияСобранногоПакета = БДД.ПолучитьИзКонтекста("ВерсияСобранногоПакета");
Expand All @@ -77,7 +77,6 @@
ВызватьИсключение СообщениеОшибки;

КонецЕсли;
// Ожидаем.Что(УстановленнаяВерсияПакета, СообщениеОшибки).Равно(ВерсияСобранногоПакета);
КонецПроцедуры

Функция ВыполнитьКоманду(Знач СтрокаКоманды, ТекстВывода = "")
Expand All @@ -90,23 +89,22 @@
ТекстВывода = Команда.ПолучитьВывод();

Если КодВозврата <> 0 Тогда
// Лог.Информация(ТекстВывода);
Сообщить(ТекстВывода);
КонецЕсли;
Возврат КодВозврата;
КонецФункции

//запоминаю собранный файл пакета в контексте
Процедура ЗапоминаюСобранныйФайлПакетаВКонтексте() //Экспорт
// запоминаю собранный файл пакета в контексте
Процедура ЗапоминаюСобранныйФайлПакетаВКонтексте() // Экспорт
ПутьВременногоКаталога = БДД.ПолучитьИзКонтекста("ВременныйКаталог");
МассивФайлов = НайтиФайлы(ПутьВременногоКаталога, "*.ospx", Ложь);
Ожидаем.Что(МассивФайлов.Количество(), "Должны были найти только 1 собранный пакет, а не несколько").Равно(1);
ФайлПакета = МассивФайлов[0];
БДД.СохранитьВКонтекст("ФайлСобранногоПакета", ФайлПакета);
КонецПроцедуры

//я выполняю команду получения версии установленного пакета
Процедура ЗапоминаюВерсиюСобранногоПакетаВКонтексте() //Экспорт
// я выполняю команду получения версии установленного пакета
Процедура ЗапоминаюВерсиюСобранногоПакетаВКонтексте() // Экспорт
ФайлПакета = БДД.ПолучитьИзКонтекста("ФайлСобранногоПакета");
РегулярноеВыражение = Новый РегулярноеВыражение("([^-]+-[^-]+|[^-]+)-(\d+\.(\d+\.)*\d+)\.ospx");
Совпадения = РегулярноеВыражение.НайтиСовпадения(ФайлПакета.Имя);
Expand Down
24 changes: 13 additions & 11 deletions features/step_definitions/БазовыйКонтекст.os
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Реализация шагов BDD-фич/сценариев с помощью фреймворка https://github.com/artbear/1bdd

Перем БДД; //контекст фреймворка 1bdd
Перем БДД; // контекст фреймворка 1bdd

// Метод выдает список шагов, реализованных в данном файле-шагов
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
Expand All @@ -18,17 +18,17 @@

// Процедура выполняется перед запуском каждого сценария
Процедура ПередЗапускомСценария(Знач Узел) Экспорт

КонецПроцедуры

// Процедура выполняется после завершения каждого сценария
Процедура ПослеЗапускаСценария(Знач Узел) Экспорт

КонецПроцедуры

//я подготовил репозиторий и рабочий каталог проекта
// я подготовил репозиторий и рабочий каталог проекта
Процедура ЯПодготовилРепозиторийИРабочийКаталогПроекта() Экспорт
// TODO удалить после реализации БДД.ВыполнитьСценарий
// TODO удалить после реализации БДД.ВыполнитьСценарий
БДД.ВыполнитьШаг("Допустим я выключаю отладку лога с именем ""oscript.app.vanessa-runner""");
БДД.ВыполнитьШаг("И Я очищаю параметры команды ""oscript"" в контексте");

Expand All @@ -41,9 +41,9 @@
БДД.ВыполнитьШаг("Допустим Я сохраняю каталог проекта в контекст");
КонецПроцедуры

//я подготовил рабочую базу проекта "./build/ib" по умолчанию
// я подготовил рабочую базу проекта "./build/ib" по умолчанию
Процедура ЯПодготовилРабочуюБазуПроектаПоУмолчанию(Знач ПутьИБ) Экспорт
// TODO удалить после реализации БДД.ВыполнитьСценарий
// TODO удалить после реализации БДД.ВыполнитьСценарий
БДД.ВыполнитьШаг("ЯПодготовилРепозиторийИРабочийКаталогПроекта");
// Допустим я включаю отладку лога с именем "oscript.app.vanessa-runner"
// # Допустим я включаю отладку лога с именем "bdd"
Expand All @@ -61,11 +61,13 @@
// # Тогда Я показываю каталог проекта
// # И Я показываю рабочий каталог
// # И Я показываю текущий каталог

Шаг = СтрШаблон("Когда Я выполняю команду ""oscript"" с параметрами ""<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse --ibconnection /F%1""", ПутьИБ);
БДД.ВыполнитьШаг(Шаг);
КонецПроцедуры

//{ Служебные функции
//}
БДД.ВыполнитьШаг(" Я очищаю параметры команды ""oscript"" в контексте");

КонецПроцедуры

// { Служебные функции
// }
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// Реализация шагов BDD-фич/сценариев с помощью фреймворка https://github.com/artbear/1bdd

Перем БДД; //контекст фреймворка 1bdd
Перем БДД; // контекст фреймворка 1bdd

// Метод выдает список шагов, реализованных в данном файле-шагов
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
Expand Down Expand Up @@ -34,26 +34,26 @@
БазыДляУдаления = БДД.ПолучитьИзКонтекста("ПутиДляУдаленияПослеТеста");
Парсер = МенеджерСпискаБаз.ПолучитьПарсерБаз();
СписокБаз = Парсер.ПолучитьСписокБаз();
Для каждого Элемент из БазыДляУдаления Цикл
Для каждого Элемент Из БазыДляУдаления Цикл
Попытка
СписокБаз.Удалить(Элемент.Ключ);
Исключение
Сообщить(Элемент.Ключ + ":"+ОписаниеОшибки());
Сообщить(Элемент.Ключ + ":" + ОписаниеОшибки());
КонецПопытки;
КонецЦикла;

КонецПроцедуры

//Я инициализирую репозиторий git в рабочем каталоге
// Я инициализирую репозиторий git в рабочем каталоге
Процедура ЯИнициализируюРепозиторийGitВРабочемКаталоге() Экспорт
Команда = Новый Команда;
Команда.УстановитьСтрокуЗапуска("git init");
Команда.УстановитьРабочийКаталог(БДД.ПолучитьИзКонтекста("РабочийКаталог"));
КодВозврата = Команда.Исполнить();

// ЗапуститьПриложение("git init" + ?(КакЧистое, " --bare", ""), КаталогРепозитория, Истина, КодВозврата);
// КодВозврата = ИнициализироватьТестовоеХранилищеГит(ПутьГитРепозитория);
СообщениеОшибки = СтрШаблон("неверно выполнена команда git init.
СообщениеОшибки = СтрШаблон("неверно выполнена команда git init.
|Вывод команды %1", Команда.ПолучитьВывод());
Ожидаем.Что(КодВозврата, СообщениеОшибки).Равно(0);
КонецПроцедуры
Expand All @@ -64,22 +64,22 @@
Возврат Рез;
КонецФункции

//В списке баз есть база по пути "<РабочийКаталог>/./build/ib"
// В списке баз есть база по пути "<РабочийКаталог>/./build/ib"
Процедура ВСпискеБазЕстьБазаПоПути(Знач СтрокаБазыДанных) Экспорт

СтрокаБазыДанных = ЗаменитьШаблоныВПараметрахКоманды(СтрокаБазыДанных);
СтрокаБазыДанных = Новый Файл(ОбъединитьПути(ТекущийКаталог(), СтрокаБазыДанных)).ПолноеИмя;

УстановитьПутьКБазеВБазыДляУдаленияВКонтексте(СтрокаБазыДанных);

Ожидаем.Что(МенеджерСпискаБаз.ПолучитьИмяБазыВСписке("/F"+СтрокаБазыДанных),
"Искали базу в списке баз /F"+СтрокаБазыДанных).Равно(Новый Файл(БДД.ПолучитьИзКонтекста("РабочийКаталог")).ИмяБезРасширения);
Ожидаем.Что(МенеджерСпискаБаз.ПолучитьИмяБазыВСписке("/F" +СтрокаБазыДанных),
"Искали базу в списке баз /F" +СтрокаБазыДанных).Равно(Новый Файл(БДД.ПолучитьИзКонтекста("РабочийКаталог")).ИмяБезРасширения);

КонецПроцедуры

//В списке баз нахожу базу для проекта "<РабочийКаталог>"
// В списке баз нахожу базу для проекта "<РабочийКаталог>"
Процедура Вспискебазнахожубазудляпроекта(СтрокаПутиБазы) Экспорт

СтрокаПутиБазы = ЗаменитьШаблоныВПараметрахКоманды(СтрокаПутиБазы);

УстановитьПутьКБазеВБазыДляУдаленияВКонтексте(СтрокаПутиБазы);
Expand All @@ -91,13 +91,12 @@

КонецПроцедуры

//{ Служебные функции
// { Служебные функции

Процедура УстановитьПутьКБазеВБазыДляУдаленияВКонтексте(СтрокаБазыДанных)
БазыДляУдаления = БДД.ПолучитьИзКонтекста("ПутиДляУдаленияПослеТеста");
БазыДляУдаления.Вставить(СтрокаБазыДанных, Истина);
БДД.СохранитьВКонтекст("ПутиДляУдаленияПослеТеста", БазыДляУдаления);
КонецПроцедуры

//}

// }
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@
И Я копирую каталог "cf" из каталога "tests/fixtures" проекта в рабочий каталог
И Я установил рабочий каталог как текущий каталог
И Я сохраняю каталог проекта в контекст
И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse"
И Я очищаю параметры команды "oscript" в контексте
И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse --language ru"
И Я очищаю параметры команды "oscript" в контексте

Сценарий: Выгрузка базы данных в dt файл
Допустим Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os dump ./build/1Cv8.dt --ibconnection /F./build/ib"

Допустим Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os dump ./build/1Cv8.dt --ibconnection /F./build/ib --language ru"
Тогда Я сообщаю вывод команды "oscript"
И Код возврата команды "oscript" равен 0
И Файл "./build/1Cv8.dt" существует
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,21 @@

И Я установил рабочий каталог как текущий каталог
И Я сохраняю каталог проекта в контекст
И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse"
И Я очищаю параметры команды "oscript" в контексте
И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse --language ru"
И Я очищаю параметры команды "oscript" в контексте


Сценарий: Выгрузка конфигурации в файл cf
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os unload ./build/1Cv8.cf --ibconnection /F./build/ib"
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os unload ./build/1Cv8.cf --ibconnection /F./build/ib --language ru"
Тогда Я сообщаю вывод команды "oscript"
И файл "build/1Cv8.cf" существует
И Код возврата команды "oscript" равен 0

Сценарий: Загрузка файла cf в конфигурацию
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os unload ./build/1Cv8.cf --ibconnection /F./build/ib"
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os unload ./build/1Cv8.cf --ibconnection /F./build/ib --language ru"
Тогда Я сообщаю вывод команды "oscript"
И файл "build/1Cv8.cf" существует
И Код возврата команды "oscript" равен 0
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os load -s ./build/1Cv8.cf --ibconnection /F./build/ib"
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os load -s ./build/1Cv8.cf --ibconnection /F./build/ib --language ru"
Тогда Я сообщаю вывод команды "oscript"
И Код возврата команды "oscript" равен 0
Loading

0 comments on commit 3789e8c

Please sign in to comment.