1
0

tailor the code to the current develop

This commit is contained in:
Dima
2024-03-18 13:50:40 +03:00
parent 8dc051b3ae
commit a7523fb944
6 changed files with 4 additions and 100 deletions

View File

@@ -84,12 +84,6 @@
}, },
"yaxunit": { "yaxunit": {
"vrunnerSettings": "./tools/vrunner.json", "vrunnerSettings": "./tools/vrunner.json",
"extensions": [
{
"name":"YAXUNIT",
"src": "https://github.com/bia-technologies/yaxunit/releases/download/23.05/YAXUNIT-23.05.cfe"
}
],
"configPath": "./tools/yaxunit.json", "configPath": "./tools/yaxunit.json",
"publishToAllureReport": false, "publishToAllureReport": false,
"publishToJUnitReport": true "publishToJUnitReport": true

View File

@@ -82,7 +82,6 @@ class ConfigurationReader implements Serializable {
mergeObjects(baseConfiguration, configurationToMerge, nonMergeableSettings) mergeObjects(baseConfiguration, configurationToMerge, nonMergeableSettings)
mergeInitInfoBaseOptions(baseConfiguration.initInfoBaseOptions, configurationToMerge.initInfoBaseOptions) mergeInitInfoBaseOptions(baseConfiguration.initInfoBaseOptions, configurationToMerge.initInfoBaseOptions)
mergeBddOptions(baseConfiguration.bddOptions, configurationToMerge.bddOptions) mergeBddOptions(baseConfiguration.bddOptions, configurationToMerge.bddOptions)
mergeYaxunitOptions(baseConfiguration.yaxunitOptions, configurationToMerge.yaxunitOptions)
mergeSyntaxCheckOptions(baseConfiguration.syntaxCheckOptions, configurationToMerge.syntaxCheckOptions) mergeSyntaxCheckOptions(baseConfiguration.syntaxCheckOptions, configurationToMerge.syntaxCheckOptions)
mergeNotificationsOptions(baseConfiguration.notificationsOptions, configurationToMerge.notificationsOptions) mergeNotificationsOptions(baseConfiguration.notificationsOptions, configurationToMerge.notificationsOptions)
@@ -149,14 +148,6 @@ class ConfigurationReader implements Serializable {
baseObject.vrunnerSteps = objectToMerge.vrunnerSteps.clone() baseObject.vrunnerSteps = objectToMerge.vrunnerSteps.clone()
} }
@NonCPS
private static void mergeYaxunitOptions(YaxunitOptions baseObject, YaxunitOptions objectToMerge) {
if (objectToMerge == null || objectToMerge.extensions == null) {
return
}
baseObject.extensions = objectToMerge.extensions.clone()
}
@NonCPS @NonCPS
private static void mergeSyntaxCheckOptions(SyntaxCheckOptions baseObject, SyntaxCheckOptions objectToMerge) { private static void mergeSyntaxCheckOptions(SyntaxCheckOptions baseObject, SyntaxCheckOptions objectToMerge) {
if (objectToMerge == null || objectToMerge.checkModes == null) { if (objectToMerge == null || objectToMerge.checkModes == null) {

View File

@@ -1,17 +0,0 @@
package ru.pulsar.jenkins.library.configuration
import com.cloudbees.groovy.cps.NonCPS
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
@JsonIgnoreProperties(ignoreUnknown = true)
class Extension implements Serializable {
String name
String src
@Override
@NonCPS
String toString() {
return name
}
}

View File

@@ -2,7 +2,6 @@ package ru.pulsar.jenkins.library.configuration
import com.cloudbees.groovy.cps.NonCPS import com.cloudbees.groovy.cps.NonCPS
import com.fasterxml.jackson.annotation.JsonIgnoreProperties import com.fasterxml.jackson.annotation.JsonIgnoreProperties
import com.fasterxml.jackson.annotation.JsonProperty
import com.fasterxml.jackson.annotation.JsonPropertyDescription import com.fasterxml.jackson.annotation.JsonPropertyDescription
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
@@ -13,15 +12,6 @@ class YaxunitOptions implements Serializable {
""") """)
String vrunnerSettings = "./tools/vrunner.json" String vrunnerSettings = "./tools/vrunner.json"
@JsonProperty("extensions")
@JsonPropertyDescription("""Расширения с тестами.
Массив объектов с полями name и src, где
name - имя расширения
src - путь к расширению (к cfe или к исходникам)
По умолчанию содержит один элемент - YAXUNIT версии 23.05.
""")
Extension[] extensions
@JsonPropertyDescription("""Путь к конфигурационному файлу YAXUnit. @JsonPropertyDescription("""Путь к конфигурационному файлу YAXUnit.
По умолчанию содержит значение "./tools/yaxunit.json". По умолчанию содержит значение "./tools/yaxunit.json".
""") """)
@@ -40,10 +30,11 @@ class YaxunitOptions implements Serializable {
@Override @Override
@NonCPS @NonCPS
String toString() { String toString() {
return "YaxunitTestOptions{" + return "YaxunitOptions{" +
"vrunnerSettings='" + vrunnerSettings + '\'' + "vrunnerSettings='" + vrunnerSettings + '\'' +
", extensions='" + extensions +
", configPath='" + configPath + ", configPath='" + configPath +
", publishToAllureReport='" + publishToAllureReport +
", publishToJUnitReport='" + publishToJUnitReport +
'}' '}'
} }
} }

View File

@@ -2,7 +2,7 @@ package ru.pulsar.jenkins.library.steps
import hudson.FilePath import hudson.FilePath
import ru.pulsar.jenkins.library.IStepExecutor import ru.pulsar.jenkins.library.IStepExecutor
import ru.pulsar.jenkins.library.configuration.Extension
import ru.pulsar.jenkins.library.configuration.JobConfiguration import ru.pulsar.jenkins.library.configuration.JobConfiguration
import ru.pulsar.jenkins.library.ioc.ContextRegistry import ru.pulsar.jenkins.library.ioc.ContextRegistry
import ru.pulsar.jenkins.library.utils.FileUtils import ru.pulsar.jenkins.library.utils.FileUtils
@@ -42,34 +42,6 @@ class Yaxunit implements Serializable {
String vrunnerPath = VRunner.getVRunnerPath() String vrunnerPath = VRunner.getVRunnerPath()
String ibConnection = ' --ibconnection "/F./build/ib"' String ibConnection = ' --ibconnection "/F./build/ib"'
def extCommands = []
// Команда загрузки YAXUnit
def loadYaxunitCommand = VRunner.loadExtCommand("yaxunit")
extCommands << loadYaxunitCommand
// Команды сборки расширений с тестами и их загрузки в ИБ
for (Extension extension in options.extensions) {
if (extension.src.endsWith('cfe')) {
// Скачиваем расширение
String pathToExtension = "$env.WORKSPACE/build/out/${extension.name}.cfe"
FilePath localPathToExtension = FileUtils.getFilePath(pathToExtension)
Logger.println("Скачивание расширения $extension.name в $localPathToExtension из ${extension.src}")
localPathToExtension.copyFrom(new URL(extension.src))
} else {
// Команда компиляции в cfe
def compileExtCommand = "$vrunnerPath compileexttocfe --src $extension.src --out build/out/${extension.name}.cfe"
extCommands << compileExtCommand
Logger.println("Команда сборки расширения: $compileExtCommand")
}
// Команда загрузки расширения в ИБ
def loadTestExtCommand = VRunner.loadExtCommand(extension.name)
extCommands << loadTestExtCommand
Logger.println("Команда загрузки расширения: $loadTestExtCommand")
}
// Готовим конфиг для yaxunit // Готовим конфиг для yaxunit
String yaxunitConfigPath = options.configPath String yaxunitConfigPath = options.configPath
if (!steps.fileExists(yaxunitConfigPath)) { if (!steps.fileExists(yaxunitConfigPath)) {
@@ -83,20 +55,15 @@ class Yaxunit implements Serializable {
// Переопределяем настройки vrunner // Переопределяем настройки vrunner
String vrunnerSettings = options.vrunnerSettings String vrunnerSettings = options.vrunnerSettings
String[] extCommandsWithSettings = extCommands
if (steps.fileExists(vrunnerSettings)) { if (steps.fileExists(vrunnerSettings)) {
String vrunnerSettingsParam = " --settings $vrunnerSettings" String vrunnerSettingsParam = " --settings $vrunnerSettings"
extCommandsWithSettings = extCommands.collect { "$it $vrunnerSettingsParam" }
runTestsCommand += vrunnerSettingsParam runTestsCommand += vrunnerSettingsParam
} }
// Выполяем команды // Выполяем команды
steps.withEnv(logosConfig) { steps.withEnv(logosConfig) {
for (extCommand in extCommandsWithSettings) {
VRunner.exec(extCommand, true)
}
VRunner.exec(runTestsCommand, true) VRunner.exec(runTestsCommand, true)
} }

View File

@@ -1,6 +1,5 @@
package ru.pulsar.jenkins.library.utils package ru.pulsar.jenkins.library.utils
import hudson.FilePath
import ru.pulsar.jenkins.library.IStepExecutor import ru.pulsar.jenkins.library.IStepExecutor
import ru.pulsar.jenkins.library.ioc.ContextRegistry import ru.pulsar.jenkins.library.ioc.ContextRegistry
@@ -40,25 +39,4 @@ class VRunner {
return fileContent.contains("\"$settingName\"") return fileContent.contains("\"$settingName\"")
} }
static String loadExtCommand(String name) {
IStepExecutor steps = ContextRegistry.getContext().getStepExecutor()
def env = steps.env()
def vrunnerPath = getVRunnerPath()
String pathToExt = "$env.WORKSPACE/build/out/${name}.cfe"
FilePath localPathToExt = FileUtils.getFilePath(pathToExt)
// Команда загрузки расширения
String loadCommand = vrunnerPath + ' run --command "Путь=' + localPathToExt + ';ЗавершитьРаботуСистемы;" --execute '
String executeParameter = '$runnerRoot/epf/ЗагрузитьРасширениеВРежимеПредприятия.epf'
if (steps.isUnix()) {
executeParameter = '\\' + executeParameter
}
loadCommand += executeParameter
loadCommand += ' --ibconnection "/F./build/ib"'
return loadCommand
}
} }