1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-12-03 22:39:12 +02:00
Files
OpenIntegrations/ci/os/cli_testmaker_en.os

164 lines
5.0 KiB
Plaintext
Raw Normal View History

2025-02-06 20:58:53 +03:00
#Использовать "../../src/en/cli/data"
2024-06-07 23:04:18 +03:00
Перем Версия;
Перем ТекущийФайл;
Перем ТаблицаПараметров;
2024-09-25 15:19:35 +03:00
Перем Модули;
2024-06-07 23:04:18 +03:00
#Область Основа
Процедура ПриСозданииОбъекта()
2024-09-25 15:19:35 +03:00
2025-05-25 16:05:18 +03:00
ТекущийСоставБиблиотеки = Новый LibraryComposition();
2024-06-07 23:04:18 +03:00
2025-05-25 16:37:07 +03:00
ТаблицаПараметров = ТекущийСоставБиблиотеки.GetFullComposition();
Версия = ТекущийСоставБиблиотеки.GetVersion();
Модули = ТекущийСоставБиблиотеки.GetCommandModuleMapping();
2024-06-07 23:04:18 +03:00
СоздатьОсновнойФайл();
КонецПроцедуры
Процедура СоздатьОсновнойФайл()
ТекущийФайл = Новый ТекстовыйДокумент();
2024-09-25 15:19:35 +03:00
СформироватьОпределения();
СформироватьПроцесс();
2024-06-07 23:04:18 +03:00
2024-09-25 15:19:35 +03:00
Текст = ТекущийФайл.ПолучитьТекст();
ПолучитьДвоичныеДанныеИзСтроки(Текст).Записать("./ci/clitesten");
2024-06-07 23:04:18 +03:00
КонецПроцедуры
#КонецОбласти
#Область ФормированиеФайлов
2024-09-25 15:19:35 +03:00
Процедура СформироватьПроцесс()
2024-06-07 23:04:18 +03:00
2024-09-25 15:19:35 +03:00
Язык = "en";
2024-06-07 23:04:18 +03:00
2024-09-25 15:19:35 +03:00
ТекущийФайл.ДобавитьСтроку(
"pipeline {
| agent any
| stages {
| stage('Prepare'){
| steps{
2025-05-21 18:47:53 +03:00
| powershell encoding: 'UTF-8', script:'cd ./src/" + Язык + "/OInt; opm build; opm install oint-1.24.0.ospx; del oint-1.24.0.ospx'
2024-09-25 15:19:35 +03:00
| powershell encoding: 'UTF-8', script:'oscript -make ./src/" + Язык + "/cli/core/Classes/app.os oint.exe'
| }
| }
| stage('Run'){
| steps{");
Для Каждого Модуль Из Модули Цикл
ТекущийФайл.ДобавитьСтроку("test_" + Модуль.Ключ + "()");
2024-06-07 23:04:18 +03:00
КонецЦикла;
ТекущийФайл.ДобавитьСтроку("
2024-09-25 15:19:35 +03:00
| }
| }
| }
|}
2024-06-07 23:04:18 +03:00
|
2024-09-25 15:19:35 +03:00
|");
2024-06-07 23:04:18 +03:00
КонецПроцедуры
2024-09-25 15:19:35 +03:00
Процедура СформироватьОпределения()
2024-06-07 23:04:18 +03:00
2024-09-25 15:19:35 +03:00
Язык = "en";
ТекстРаботы = "
|pipeline {
| agent any
| stages {
| stage('Prepare'){
| steps{
2025-05-21 18:47:53 +03:00
| powershell encoding: 'UTF-8', script:'cd ./src/" + Язык + "/OInt; opm build; opm install oint-1.24.0.ospx; del oint-1.24.0.ospx'
2024-09-25 15:19:35 +03:00
| powershell encoding: 'UTF-8', script:'oscript -make ./src/" + Язык + "/cli/core/Classes/app.os oint.exe'
| }
| }
| stage('Run Tests') {
| parallel {
2024-06-07 23:04:18 +03:00
|";
2024-09-25 15:19:35 +03:00
Для Каждого Модуль Из Модули Цикл
2024-06-07 23:04:18 +03:00
2024-09-25 15:19:35 +03:00
ТекущаяКоманда = Модуль.Ключ;
2024-06-07 23:04:18 +03:00
2024-09-25 15:19:35 +03:00
ТекстРаботы = ТекстРаботы + "
| stage('" + ТекущаяКоманда + "'){
| steps{
| test_" + ТекущаяКоманда + "()
| }
| }";
2024-06-07 23:04:18 +03:00
2024-09-25 15:19:35 +03:00
КонецЦикла;
2024-06-07 23:04:18 +03:00
2024-09-25 15:19:35 +03:00
ТекстРаботы = ТекстРаботы + "
| }
| }
| }
|}
2024-06-07 23:04:18 +03:00
|";
2024-09-25 15:19:35 +03:00
ТекущийФайл.ДобавитьСтроку(ТекстРаботы);
2024-06-07 23:04:18 +03:00
2024-09-25 15:19:35 +03:00
Для Каждого Модуль Из Модули Цикл
2024-06-07 23:04:18 +03:00
2024-09-25 15:19:35 +03:00
ТекущаяКоманда = Модуль.Ключ;
2024-06-07 23:04:18 +03:00
2024-09-25 15:19:35 +03:00
ТекстФункции = "
|
|def test_" + ТекущаяКоманда + "(){
|
|";
2024-06-07 23:04:18 +03:00
2025-05-25 16:46:41 +03:00
Отбор = Новый Структура("Library", ТекущаяКоманда);
2024-09-25 15:19:35 +03:00
СтрокиБиблиотеки = ТаблицаПараметров.НайтиСтроки(Отбор);
ТекущийМетод = "";
2024-06-07 23:04:18 +03:00
2024-09-25 15:19:35 +03:00
Для Каждого СтрокаПараметра Из СтрокиБиблиотеки Цикл
2024-06-07 23:04:18 +03:00
2025-05-25 16:46:41 +03:00
Если ТекущийМетод <> СтрокаПараметра.Method Тогда
2024-06-07 23:04:18 +03:00
2025-05-25 16:46:41 +03:00
ТекущийМетод = СтрокаПараметра.Method;
2024-09-25 15:19:35 +03:00
СтрокаЗапуска = ТекущийМетод;
2025-05-25 16:46:41 +03:00
Отбор.Вставить("Method", ТекущийМетод);
2024-06-07 23:04:18 +03:00
2024-09-25 15:19:35 +03:00
СтрокиМетода = ТаблицаПараметров.НайтиСтроки(Отбор);
2024-06-07 23:04:18 +03:00
2024-09-25 15:19:35 +03:00
Для Каждого СтрокаМетода Из СтрокиМетода Цикл
СтрокаЗапуска = СтрокаЗапуска
+ " "
2025-05-25 16:46:41 +03:00
+ СтрокаМетода.Parameter
2024-09-25 15:19:35 +03:00
+ " ""test"""
КонецЦикла;
2024-06-07 23:04:18 +03:00
2024-09-25 15:19:35 +03:00
ТекстФункции = ТекстФункции + "
| catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
| powershell encoding: 'UTF-8', script:'./oint.exe " + ТекущаяКоманда + " " + СтрокаЗапуска + " --debug --test '
| }
|";
2024-06-07 23:04:18 +03:00
КонецЕсли;
КонецЦикла;
2024-09-25 15:19:35 +03:00
ТекстФункции = ТекстФункции + "
|}
|";
ТекущийФайл.ДобавитьСтроку(ТекстФункции);
2024-06-07 23:04:18 +03:00
2024-09-25 15:19:35 +03:00
КонецЦикла;
2024-06-07 23:04:18 +03:00
КонецПроцедуры
#КонецОбласти