Files
OpenIntegrations/ci/pipelines/tests_full/cli_deb_test_ru.jenkinsfile
T

847 lines
26 KiB
Plaintext

def runCommand(String command) {
if (isUnix()) {
sh(script: command)
} else {
bat(script: command)
}
}
pipeline {
agent {
label 'Deb-Agent' // Имя или метка агента
}
parameters {
booleanParam(name: 'Core', defaultValue: true, description: 'Run Core tests')
booleanParam(name: 'Telegram', defaultValue: true, description: 'Run Telegram tests')
booleanParam(name: 'VK', defaultValue: true, description: 'Run VK tests')
booleanParam(name: 'Viber', defaultValue: true, description: 'Run Viber tests')
booleanParam(name: 'FTP', defaultValue: true, description: 'Run FTP tests')
booleanParam(name: 'SSH', defaultValue: true, description: 'Run SSH tests')
booleanParam(name: 'SFTP', defaultValue: true, description: 'Run SFTP tests')
booleanParam(name: 'PostgreSQL', defaultValue: true, description: 'Run PostgreSQL tests')
booleanParam(name: 'MySQL', defaultValue: true, description: 'Run MySQL tests')
booleanParam(name: 'MSSQL', defaultValue: true, description: 'Run MSSQL tests')
booleanParam(name: 'SQLite', defaultValue: true, description: 'Run SQLite tests')
booleanParam(name: 'MongoDB', defaultValue: true, description: 'Run MongoDB tests')
booleanParam(name: 'RCON', defaultValue: true, description: 'Run RCON tests')
booleanParam(name: 'YandexDisk', defaultValue: true, description: 'Run YandexDisk tests')
booleanParam(name: 'GoogleWorkspace', defaultValue: true, description: 'Run GoogleWorkspace tests')
booleanParam(name: 'GoogleCalendar', defaultValue: true, description: 'Run GoogleCalendar tests')
booleanParam(name: 'GoogleDrive', defaultValue: true, description: 'Run GoogleDrive tests')
booleanParam(name: 'GoogleSheets', defaultValue: true, description: 'Run GoogleSheets tests')
booleanParam(name: 'Notion', defaultValue: true, description: 'Run Notion tests')
booleanParam(name: 'Slack', defaultValue: true, description: 'Run Slack tests')
booleanParam(name: 'Airtable', defaultValue: true, description: 'Run Airtable tests')
booleanParam(name: 'Dropbox', defaultValue: true, description: 'Run Dropbox tests')
booleanParam(name: 'Bitrix24', defaultValue: true, description: 'Run Bitrix24 tests')
booleanParam(name: 'VKTeams', defaultValue: true, description: 'Run VKTeams tests')
booleanParam(name: 'Neocities', defaultValue: true, description: 'Run Neocities tests')
booleanParam(name: 'CDEK', defaultValue: true, description: 'Run CDEK tests')
booleanParam(name: 'YandexMetrika', defaultValue: true, description: 'Run YandexMetrika tests')
booleanParam(name: 'S3', defaultValue: true, description: 'Run S3 tests')
booleanParam(name: 'TCP', defaultValue: true, description: 'Run TCP tests')
booleanParam(name: 'WebSocket', defaultValue: true, description: 'Run WebSocket tests')
booleanParam(name: 'ZeroMQ', defaultValue: true, description: 'Run ZeroMQ tests')
booleanParam(name: 'GreenAPI', defaultValue: true, description: 'Run GreenAPI tests')
booleanParam(name: 'GreenMax', defaultValue: true, description: 'Run GreenMax tests')
booleanParam(name: 'Ollama', defaultValue: true, description: 'Run Ollama tests')
booleanParam(name: 'HTTP', defaultValue: true, description: 'Run HTTP tests')
booleanParam(name: 'OpenAI', defaultValue: true, description: 'Run OpenAI tests')
booleanParam(name: 'ReportPortal', defaultValue: true, description: 'Run ReportPortal tests')
booleanParam(name: 'GRPC', defaultValue: true, description: 'Run GRPC tests')
booleanParam(name: 'ClickHouse', defaultValue: true, description: 'Run ClickHouse tests')
booleanParam(name: 'RSS', defaultValue: true, description: 'Run RSS tests')
booleanParam(name: 'MessagePack', defaultValue: true, description: 'Run MessagePack tests')
booleanParam(name: 'Janx', defaultValue: true, description: 'Run Janx tests')
booleanParam(name: 'Lua', defaultValue: true, description: 'Run Lua tests')
}
stages {
stage('Sync add-ins') {
steps {
script {
if (isUnix()) {
sh 'bash src/addins/sync-addins.sh'
} else {
bat 'call src\\addins\\sync-addins.bat'
}
}
}
}
stage('Remove oint') {
steps {
script {
// Удаляем oint, если он установлен
sh 'dpkg -r oint || echo "oint not installed"'
}
}
}
stage('Download oint package') {
steps {
script {
// Скачиваем новый deb-пакет oint
sh 'wget -O oint_2.2.0_all_ru.deb https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/2.2.0/oint_2.2.0_all_ru.deb '
}
}
}
stage('Install oint package') {
steps {
script {
sh 'dpkg -i oint_2.2.0_all_ru.deb'
}
}
}
stage('Prepare'){
steps{
sh 'cd ./src/ru/OInt && opm build && opm install oint-2.2.0.ospx && rm oint-2.2.0.ospx'
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
}
}
}
stage('Create ReportPortal launch'){
steps{
sh 'oscript ./ci/os/internal/Classes/ReportPortalMethods.os start "CLI"'
}
}
stage('Testing-Core') {
when {
expression { return params['Core'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_Core.os', [
'ПроверитьСоответствиеИБПоследнейСборке',
'ПроверитьРасширенныйВызов',
], true)
}
}
}
stage('Testing') {
parallel {
stage('Testing-Telegram') {
when {
expression { return params['Telegram'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_Telegram.os', [
'Телеграм_ПолучитьИнформациюБота',
'Телеграм_ПолучитьОбновления',
'Телеграм_УстановитьWebhook',
'Телеграм_ОтправитьТекстовоеСообщение',
'Телеграм_ОтправитьКартинку',
'Телеграм_ОтправитьВидео',
'Телеграм_ОтправитьАудио',
'Телеграм_ОтправитьДокумент',
'Телеграм_ОтправитьГифку',
'Телеграм_ОтправитьМедиагруппу',
'Телеграм_ОтправитьМестоположение',
'Телеграм_ОтправитьКонтакт',
'Телеграм_ОтправитьОпрос',
'Телеграм_ПереслатьСообщение',
'Телеграм_БанРазбан',
'Телеграм_СоздатьСсылкуПриглашение',
'Телеграм_ЗакрепитьОткрепитьСообщение',
'Телеграм_ПолучитьЧислоУчастников',
'Телеграм_ПолучитьСписокАватаровФорума',
'Телеграм_СоздатьУдалитьТемуФорума',
'Телеграм_ИзменитьИмяГлавнойТемы',
'Телеграм_СкрытьПоказатьГлавнуюТему',
])
}
}
}
stage('Testing-VK') {
when {
expression { return params['VK'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_VK.os', [
'ВК_СоздатьСсылкуТокена',
'ВК_СоздатьУдалитьПост',
'ВК_СоздатьСоставнойПост',
'ВК_СоздатьОпрос',
'ВК_СохранитьУдалитьКартинку',
'ВК_СоздатьИсторию',
'ВК_ЛайкРепостКоммент',
'ВК_ПолучитьСтатистику',
'ВК_ПолучитьСтатистикуПостов',
'ВК_СоздатьРекламнуюКампанию',
'ВК_ОтправитьСообщение',
'ВК_ПолучитьКатегорииТоваров',
'ВК_СоздатьТоварПодборку',
'ВК_СоздатьТоварСоСвойствами',
'ВК_ПолучитьСписокТоваров',
'ВК_ПолучитьСписокПодборок',
'ВК_ПолучитьСписокСвойств',
'ВК_ПолучитьСписокЗаказов',
'ВК_ЗагрузитьВидео',
])
}
}
}
stage('Testing-Viber') {
when {
expression { return params['Viber'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_Viber.os', [
'Вайбер_ПолучениеИнформации',
'Вайбер_ОтправкаСообщений',
])
}
}
}
stage('Testing-FTP') {
when {
expression { return params['FTP'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_FTP.os', [
'FT_РаботаСДиректориями',
'FT_РаботаСФайлами',
'FT_ОсновныеМетоды',
'FT_РасширеннаяПроверка',
])
}
}
}
stage('Testing-SSH') {
when {
expression { return params['SSH'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_SSH.os', [
'SShell_ОсновныеМетоды',
'SShell_РасширеннаяПроверка',
])
}
}
}
stage('Testing-SFTP') {
when {
expression { return params['SFTP'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_SFTP.os', [
'SF_ОсновныеМетоды',
'SF_РаботаСДиректориями',
'SF_РаботаСФайлами',
'SF_РасширеннаяПроверка',
])
}
}
}
stage('Testing-PostgreSQL') {
when {
expression { return params['PostgreSQL'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_PostgreSQL.os', [
'Postgres_ОсновныеМетоды',
'Postgres_РасширеннаяПроверка',
'Postgres_ORM',
])
}
}
}
stage('Testing-MySQL') {
when {
expression { return params['MySQL'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_MySQL.os', [
'MYS_ОсновныеМетоды',
'MYS_РасширеннаяПроверка',
'MYS_ORM',
])
}
}
}
stage('Testing-MSSQL') {
when {
expression { return params['MSSQL'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_MSSQL.os', [
'MSS_ОсновныеМетоды',
'MSS_РасширеннаяПроверка',
'MSS_ORM',
])
}
}
}
stage('Testing-SQLite') {
when {
expression { return params['SQLite'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_SQLite.os', [
'SQLL_ОсновныеМетоды',
'SQLL_РасширеннаяПроверка',
'SQLL_ORM',
])
}
}
}
stage('Testing-MongoDB') {
when {
expression { return params['MongoDB'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_MongoDB.os', [
'Mongo_ОсновныеМетоды',
'Mongo_РасширеннаяПроверка',
'Mongo_РаботаСБазами',
'Mongo_РаботаСКоллекциями',
'Mongo_РаботаСДокументами',
'Mongo_УправлениеПользователями',
'Mongo_УправлениеРолями',
])
}
}
}
stage('Testing-RCON') {
when {
expression { return params['RCON'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_RCON.os', [
'RC_ВыполнениеКоманд',
'RC_РасширеннаяПроверка',
])
}
}
}
stage('Testing-YandexDisk') {
when {
expression { return params['YandexDisk'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_YandexDisk.os', [
'ЯДиск_Авторизация',
'ЯДиск_ПолучитьИнформациюОДиске',
'ЯДиск_СоздатьПапку',
'ЯДиск_ЗагрузитьПоАдресуПолучитьОбъект',
'ЯДиск_ЗагрузитьУдалитьФайл',
'ЯДиск_СоздатьКопиюОбъекта',
'ЯДиск_ПолучитьСсылкуНаСкачивание',
'ЯДиск_ПолучитьСписокФайлов',
'ЯДиск_ПереместитьОбъект',
'ЯДиск_ДействияПубличныхОбъектов',
'ЯДиск_ПолучитьСписокОпубликованных',
])
}
}
}
stage('Testing-GoogleWorkspace') {
when {
expression { return params['GoogleWorkspace'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_GoogleWorkspace.os', [
'ГВ_Авторизация',
])
}
}
}
stage('Testing-GoogleCalendar') {
when {
expression { return params['GoogleCalendar'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_GoogleCalendar.os', [
'ГК_Авторизация',
'ГК_ПолучитьСписокКалендарей',
'ГК_СоздатьУдалитьКалендарь',
'ГК_СоздатьУдалитьСобытие',
])
}
}
}
stage('Testing-GoogleDrive') {
when {
expression { return params['GoogleDrive'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_GoogleDrive.os', [
'ГД_Авторизация',
'ГД_ПолучитьСписокКаталогов',
'ГД_ЗагрузитьУдалитьФайл',
'ГД_СоздатьУдалитьКомментарий',
'ГД_СоздатьКаталог',
])
}
}
}
stage('Testing-GoogleSheets') {
when {
expression { return params['GoogleSheets'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_GoogleSheets.os', [
'ГТ_Авторизация',
'ГТ_СоздатьТаблицу',
'ГТ_ЗаполнитьОчиститьЯчейки',
])
}
}
}
stage('Testing-Notion') {
when {
expression { return params['Notion'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_Notion.os', [
'НоушнАпи_СоздатьСтраницу',
'НоушнАпи_СоздатьИзменитьБазу',
'НоушнАпи_СоздатьУдалитьБлок',
'НоушнАпи_ПолучитьПользователей',
])
}
}
}
stage('Testing-Slack') {
when {
expression { return params['Slack'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_Slack.os', [
'Слак_ПолучитьИнформацию',
'Слак_ОтправитьУдалитьСообщение',
'Слак_СоздатьАрхивироватьКанал',
'Слак_ОткрытьЗакрытьДиалог',
'Слак_ЗагрузитьУдалитьФайл',
'Слак_ЗагрузитьУдалитьВФ',
])
}
}
}
stage('Testing-Airtable') {
when {
expression { return params['Airtable'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_Airtable.os', [
'АТ_СоздатьБазу',
'АТ_СоздатьТаблицу',
'АТ_СоздатьПоле',
'АТ_СоздатьУдалитьЗаписи',
])
}
}
}
stage('Testing-Dropbox') {
when {
expression { return params['Dropbox'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_Dropbox.os', [
'ДропБокс_ПолучитьОбновитьТокен',
'ДропБокс_ЗагрузитьФайл',
'ДропБокс_ЗагрузитьФайлПоURL',
'ДропБокс_СоздатьКаталог',
'ДропБокс_СоздатьУдалитьТег',
'ДропБокс_ПолучитьАккаунт',
'ДропБокс_РаботаСДоступами',
'ДропБокс_ПолучитьСписокФайловПапки',
])
}
}
}
stage('Testing-Bitrix24') {
when {
expression { return params['Bitrix24'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_Bitrix24.os', [
'Б24_РаботаСТокеном',
'Б24_СерверноеВремя',
'Б24_РаботаСНовостями',
'Б24_РаботаСЗадачами',
'Б24_РаботаСКомментариями',
'Б24_РаботаСДиском',
'Б24_Канбан',
'Б24_УчетРабочегоВремени',
'Б24_РаботаСЧатами',
'Б24_РаботаСУведомлениями',
'Б24_РаботаСПолямиЗадач',
'Б24_УправлениеПодразделениями',
'Б24_УправлениеПользователями',
'Б24_РаботаСЛидами',
'Б24_РаботаСоСделками',
'Б24_РаботаСКалендарями',
])
}
}
}
stage('Testing-VKTeams') {
when {
expression { return params['VKTeams'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_VKTeams.os', [
'ВКТ_ОтправкаСообщений',
'ВКТ_ОбщиеМетоды',
'ВКТ_УправлениеЧатами',
])
}
}
}
stage('Testing-Neocities') {
when {
expression { return params['Neocities'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_Neocities.os', [
'НС_РаботаСФайлами',
'НС_ПолучениеДанных',
])
}
}
}
stage('Testing-CDEK') {
when {
expression { return params['CDEK'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_CDEK.os', [
'СдэкАПИ_ОбщиеМетоды',
'СдэкАПИ_РаботаСЗаказами',
'СдэкАПИ_РаботаСЗаявкамиНаВызовКурьера',
])
}
}
}
stage('Testing-YandexMetrika') {
when {
expression { return params['YandexMetrika'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_YandexMetrika.os', [
'ЯМетрика_УправлениеМетками',
'ЯМетрика_УправлениеСчетчиками',
'ЯМетрика_УправлениеОперациями',
])
}
}
}
stage('Testing-S3') {
when {
expression { return params['S3'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_S3.os', [
'AWS_ОбщиеМетоды',
'AWS_РаботаСБакетами',
'AWS_РаботаСОбъектами',
])
}
}
}
stage('Testing-TCP') {
when {
expression { return params['TCP'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_TCP.os', [
'TC_Клиент',
'TC_Сервер',
'TC_РасширеннаяПроверка',
])
}
}
}
stage('Testing-WebSocket') {
when {
expression { return params['WebSocket'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_WebSocket.os', [
'WS_Клиент',
'WS_Сервер',
'WS_РасширеннаяПроверка',
])
}
}
}
stage('Testing-ZeroMQ') {
when {
expression { return params['ZeroMQ'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_ZeroMQ.os', [
'ZMQ_Общие',
'ZMQ_МетодыПодключения',
'ZMQ_МетодыПрослушивания',
'ZMQ_МетодыВзаимодействия',
'ZMQ_РасширеннаяПроверка',
])
}
}
}
stage('Testing-GreenAPI') {
when {
expression { return params['GreenAPI'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_GreenAPI.os', [
'GAPI_УправлениеГруппами',
'GAPI_ОтправкаСообщений',
'GAPI_ПолучениеУведомлений',
'GAPI_ОчередьСообщений',
'GAPI_ЖурналыСообщений',
'GAPI_Аккаунт',
])
}
}
}
stage('Testing-GreenMax') {
when {
expression { return params['GreenMax'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_GreenMax.os', [
'GMax_РаботаСГруппами',
'GMax_ОтправкаСообщений',
'GMax_Уведомления',
'GMax_ИсторияСообщений',
'GMax_Очереди',
'GMax_Аккаунт',
])
}
}
}
stage('Testing-Ollama') {
when {
expression { return params['Ollama'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_Ollama.os', [
'OLLM_ОбработкаЗапросов',
'OLLM_РаботаСМоделями',
'OLLM_РаботаСBlob',
])
}
}
}
stage('Testing-HTTP') {
when {
expression { return params['HTTP'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_HTTP.os', [
'HTTP_Инициализация',
'HTTP_УстановкаТела',
'HTTP_Настройки',
'HTTP_УстановкаЗаголовков',
'HTTP_Авторизация',
'HTTP_ОбработкаЗапроса',
'HTTP_ПолучениеОтвета',
])
}
}
}
stage('Testing-OpenAI') {
when {
expression { return params['OpenAI'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_OpenAI.os', [
'OAI_ОбработкаЗапросов',
'OAI_Ассистенты',
'OAI_РаботаСФайлами',
'OAI_РаботаСАудио',
'OAI_РаботаСМоделями',
])
}
}
}
stage('Testing-ReportPortal') {
when {
expression { return params['ReportPortal'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_ReportPortal.os', [
'RPortal_Авторизация',
'RPortal_УправлениеТестами',
'RPortal_ЗаписьЛогов',
'RPortal_УправлениеПроектами',
'RPortal_УправлениеПользователями',
])
}
}
}
stage('Testing-GRPC') {
when {
expression { return params['GRPC'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_GRPC.os', [
'GR_ОсновныеМетоды',
'GR_РасширеннаяПроверка',
'GR_Интроспекция',
'GR_Стриминг',
])
}
}
}
stage('Testing-ClickHouse') {
when {
expression { return params['ClickHouse'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_ClickHouse.os', [
'CH_ОсновныеМетоды',
'CH_GRPC',
])
}
}
}
stage('Testing-RSS') {
when {
expression { return params['RSS'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_RSS.os', [
'RSS_МетодыRSS',
'RSS_МетодыAtom',
])
}
}
}
stage('Testing-MessagePack') {
when {
expression { return params['MessagePack'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_MessagePack.os', [
'MP_Данные',
'MP_Бенчмарк',
'MP_Совместимость',
])
}
}
}
stage('Testing-Janx') {
when {
expression { return params['Janx'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_Janx.os', [
'Jnx_Данные',
'Jnx_РасширеннаяПроверкаДанные',
'Jnx_Бенчмарк',
])
}
}
}
stage('Testing-Lua') {
when {
expression { return params['Lua'] }
}
steps {
script {
runModuleTests('./src/ru/OInt/tests/Modules/OPItc_Lua.os', [
'Lua_ОсновныеМетоды',
'Lua_РаботаСоСкриптами',
'Lua_РаботаСБайткодом',
'Lua_ГлобальныеПеременные',
'Lua_УправлениеПакетами',
'Lua_РасширеннаяПроверка',
])
}
}
}
}
}
}
post{
always{
script {
catchError() {
runCommand('oscript ./ci/os/internal/Classes/ReportPortalMethods.os stop')
}
withCredentials([gitUsernamePassword(credentialsId: 'gitmain', gitToolName: 'Default')]) {
sh "git config user.email vitaly.the.alpaca@gmail.com"
sh 'git config user.name "Vitaly the Alpaca (bot)"'
sh "git config --global core.ignorecase true"
sh "git add ."
sh 'git commit -m "Test data update (Jenkins)"'
sh "git push origin HEAD:main"
}
}
}
}
}
def runModuleTests(String modulePath, List methods, boolean fatal = false) {
for (method in methods) {
if (fatal) {
runLibraryTest(modulePath, method)
} else {
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
runLibraryTest(modulePath, method)
}
}
}
}
def runLibraryTest(String configPath, String libraryName) {
try {
echo "Executing: 1testrunner -run \"${configPath}\" \"${libraryName}\""
runCommand("1testrunner -run \"${configPath}\" \"${libraryName}\"")
echo "Test ${libraryName} completed successfully"
} catch (Exception e) {
echo "ERROR in test ${libraryName}: ${e.getMessage()}"
throw e
}
}