1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-03-21 21:27:27 +02:00
OpenIntegrations/ci/os/cli_testmaker.os

131 lines
4.3 KiB
Plaintext
Raw Normal View History

2024-09-16 19:17:21 +03:00
#Использовать "../../src/ru/cli/data"
2024-03-28 14:46:21 +03:00
2024-05-05 12:39:18 +03:00
Перем Версия;
2024-05-13 00:33:53 +03:00
Перем ТекущийФайл;
Перем ТаблицаПараметров;
2024-09-25 09:15:08 +03:00
Перем Модули;
2024-05-13 00:33:53 +03:00
#Область Основа
2024-03-28 14:46:21 +03:00
Процедура ПриСозданииОбъекта()
2024-09-25 09:15:08 +03:00
ТекущийСоставБиблиотеки = Новый СоставБиблиотеки();
2024-05-12 17:11:22 +03:00
2024-05-26 12:32:25 +03:00
ТаблицаПараметров = ТекущийСоставБиблиотеки.ПолучитьПолныйСостав();
Версия = ТекущийСоставБиблиотеки.ПолучитьВерсию();
2024-09-25 09:15:08 +03:00
Модули = ТекущийСоставБиблиотеки.ПолучитьСоответствиеКомандМодулей();
2024-03-28 15:50:50 +03:00
2024-05-13 00:33:53 +03:00
СоздатьОсновнойФайл();
КонецПроцедуры
Процедура СоздатьОсновнойФайл()
ТекущийФайл = Новый ТекстовыйДокумент();
2024-03-28 16:22:26 +03:00
СообщитьНачалоФайлаПроцесса();
2024-05-13 00:33:53 +03:00
СформироватьЗапуск();
2024-03-28 16:22:26 +03:00
СообщитьОкончаниеФайлаПроцесса();
2024-03-28 15:50:50 +03:00
2024-09-25 09:15:08 +03:00
ТекущийФайл.Записать("./ci/clitestru");
2024-05-13 00:33:53 +03:00
КонецПроцедуры
#КонецОбласти
#Область ФормированиеФайлов
Процедура СообщитьНачалоФайлаПроцесса()
2024-09-25 09:15:08 +03:00
Язык = "ru";
2024-05-13 00:33:53 +03:00
ТекущийФайл.ДобавитьСтроку(
2024-09-25 09:15:08 +03:00
"pipeline {
| agent any
| stages {
| stage('Prepare'){
| steps{
| powershell encoding: 'UTF-8', script:'cd ./src/" + Язык + "/OInt; opm build; opm install oint-1.14.0.ospx; del oint-1.14.0.ospx'
| powershell encoding: 'UTF-8', script:'oscript -make ./src/" + Язык + "/cli/core/Classes/app.os oint.exe'
| }
| }
2024-05-13 00:33:53 +03:00
|
|");
КонецПроцедуры
Процедура СформироватьЗапуск()
2024-09-25 09:15:08 +03:00
Для Каждого Модуль Из Модули Цикл
2024-05-13 00:33:53 +03:00
2024-09-25 09:15:08 +03:00
ТекущаяКоманда = Модуль.Ключ;
2024-05-13 00:33:53 +03:00
ТекстРаботы = "
2024-09-25 09:37:24 +03:00
| stage('Start-" + ТекущаяКоманда + "') {
| def test_" + ТекущаяКоманда + "() {
| stages {
| stage('" + ТекущаяКоманда + "'){
| steps {
2024-09-25 09:15:08 +03:00
|
2024-05-13 00:33:53 +03:00
|";
2024-09-25 09:15:08 +03:00
Отбор = Новый Структура("Библиотека", ТекущаяКоманда);
2024-05-13 00:33:53 +03:00
СтрокиБиблиотеки = ТаблицаПараметров.НайтиСтроки(Отбор);
ТекущийМетод = "";
Для Каждого СтрокаПараметра Из СтрокиБиблиотеки Цикл
Если ТекущийМетод <> СтрокаПараметра.Метод Тогда
2024-09-25 09:22:47 +03:00
ТекущийМетод = СтрокаПараметра.Метод;
СтрокаЗапуска = ТекущийМетод;
2024-09-25 09:15:08 +03:00
Отбор.Вставить("Метод", ТекущийМетод);
2024-05-13 00:33:53 +03:00
СтрокиМетода = ТаблицаПараметров.НайтиСтроки(Отбор);
2024-09-25 09:15:08 +03:00
Для Каждого СтрокаМетода Из СтрокиМетода Цикл
2024-09-25 09:22:47 +03:00
СтрокаЗапуска = СтрокаЗапуска
2024-09-25 09:15:08 +03:00
+ " "
+ СтрокаМетода.Параметр
+ " ""test"""
КонецЦикла;
2024-05-13 00:33:53 +03:00
ТекстРаботы = ТекстРаботы + "
2024-09-25 09:15:08 +03:00
| catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
2024-09-25 09:22:47 +03:00
| powershell encoding: 'UTF-8', script:'./oint.exe " + ТекущаяКоманда + " " + СтрокаЗапуска + " --debug --test '
2024-09-25 09:15:08 +03:00
| }
|";
2024-05-13 00:33:53 +03:00
КонецЕсли;
КонецЦикла;
2024-09-25 09:15:08 +03:00
ТекстРаботы = ТекстРаботы + "
2024-09-25 09:38:40 +03:00
| }}}}}
2024-09-25 09:37:24 +03:00
| test_" + ТекущаяКоманда + "()";
2024-09-25 09:15:08 +03:00
2024-05-13 00:33:53 +03:00
ТекущийФайл.ДобавитьСтроку(ТекстРаботы);
КонецЦикла;
КонецПроцедуры
Процедура СообщитьОкончаниеФайлаПроцесса()
ТекущийФайл.ДобавитьСтроку("
2024-09-25 09:15:08 +03:00
| }
| post{
| always{
| script {
| bat encoding: 'UTF-8', script:'del ""./oint.exe""'
| }
| }
| }
|
|}");
2024-03-28 19:31:51 +03:00
КонецПроцедуры
2024-05-13 00:33:53 +03:00
#КонецОбласти