-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #19 from yukon39/develop
Новая версия 0.9.0
- Loading branch information
Showing
358 changed files
with
3,429 additions
and
1,184 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
.vscode/* | ||
.temp/* | ||
vendor/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
sonar.projectKey=coverage-cli | ||
|
||
sonar.sources=cmd,internal | ||
sonar.sources=cmd,internal,pkg | ||
|
||
sonar.sourceEncoding=UTF-8 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,172 @@ | ||
|
||
#Использовать 1commands | ||
#Использовать cli | ||
#Использовать coverage-cli | ||
#Использовать fs | ||
|
||
Перем СерверОтладки; | ||
Перем ИмяКластера; | ||
Перем ИмяИнформационнойБазы; | ||
|
||
#Область Приложение | ||
|
||
Процедура ВыполнитьПриложение() | ||
|
||
Приложение = Новый КонсольноеПриложение("coverage", "Сбор покрытия средствами EDT"); | ||
|
||
Приложение.Опция("u debugger", "http://localhost:1550", "Сервер отладки") | ||
.ТСтрока(); | ||
|
||
Приложение.Опция("i infobase", "coverage_test", "Имя информационной базы") | ||
.ТСтрока(); | ||
|
||
Приложение.Опция("c cluster", "localhost", "Имя кластера") | ||
.ТСтрока(); | ||
|
||
Приложение.Опция("w workspace", "", "Каталог проекта") | ||
.ТСтрока(); | ||
|
||
Приложение.Опция("s sources", "src/cf", "Каталог с исходниками") | ||
.ТСтрока(); | ||
|
||
Приложение.Опция("f format", "XML", "Формат исходников (XML или EDT)") | ||
.ТСтрока(); | ||
|
||
Приложение.Опция("vbparms", "VBParams.json", "Конфигурационный файл тестирования") | ||
.ТСтрока(); | ||
|
||
Приложение.Опция("sonarscanner", "", "Каталог сканера SonarQube") | ||
.ТСтрока(); | ||
|
||
Приложение.УстановитьОсновноеДействие(ЭтотОбъект); | ||
Приложение.Запустить(); | ||
|
||
КонецПроцедуры | ||
|
||
#КонецОбласти | ||
|
||
#Область КомандаПриложения | ||
|
||
Процедура ВыполнитьКоманду(Команда) Экспорт | ||
|
||
// Общие переменные | ||
СерверОтладки = Команда.ЗначениеОпции("debugger"); | ||
ИмяИнформационнойБазы = Команда.ЗначениеОпции("infobase"); | ||
ИмяКластера = Команда.ЗначениеОпции("cluster"); | ||
КаталогПроекта = Команда.ЗначениеОпции("workspace"); | ||
КаталогИсходныхФайлов = Команда.ЗначениеОпции("sources"); | ||
ФорматИсходныхФайлов = Команда.ЗначениеОпции("format"); | ||
ПараметрыVanessa = Команда.ЗначениеОпции("vbparms"); | ||
ПутьКСканеру = Команда.ЗначениеОпции("sonarscanner"); | ||
|
||
Если ЗначениеЗаполнено(КаталогПроекта) Тогда | ||
КаталогИсходныхФайлов = ОбъединитьПути(КаталогПроекта, КаталогИсходныхФайлов); | ||
КонецЕсли; | ||
|
||
ФайлПокрытияCSV = ".coverage/coverage.csv"; | ||
ФайлПокрытияXML = ".coverage/coveredLines.xml"; | ||
ФайлСтрокиXML = ".coverage/linesToCover.xml"; | ||
|
||
// Подготовка рабочей области | ||
ФС.ОбеспечитьПустойКаталог(".coverage"); | ||
|
||
// Запуск сбора покрытия | ||
МенеджерПокрытия = Новый МенеджерПокрытияEDT(); | ||
МенеджерПокрытия.НайтиКаталогEDT(); | ||
МенеджерПокрытия.УстановитьПараметрыОтладки(ИмяИнформационнойБазы, СерверОтладки); | ||
|
||
ИдентификаторПроцесса = МенеджерПокрытия.ЗапуститьСборПокрытия(ФайлПокрытияCSV); | ||
|
||
// Тестирование проекта | ||
ПараметрыКоманды = Новый Массив; | ||
ПараметрыКоманды.Добавить(СтрШаблон("--ibconnection %1", СтрокаСоединения())); | ||
ПараметрыКоманды.Добавить(СтрШаблон("--vanessasettings %1", ПараметрыVanessa)); | ||
ПараметрыКоманды.Добавить(СтрШаблон("--additional ""/DEBUG -http -attach /DEBUGGERURL %1""", СерверОтладки)); | ||
ЗапуститьVRunner("vanessa", ПараметрыКоманды); | ||
|
||
// Остановка сбора покрытия | ||
МенеджерПокрытия.ОстановитьСборПокрытия(ИдентификаторПроцесса, ФайлПокрытияCSV); | ||
|
||
// Разбор результатов покрытия | ||
Конвертер = Новый Конвертер(КаталогПроекта); | ||
Конвертер.УстановитьКаталогИсходниковКонфигурации(КаталогИсходныхФайлов, ФорматИсходныхФайлов); | ||
Конвертер.УстановитьФайлПокрытия(ФайлПокрытияCSV); | ||
Конвертер.УстановитьФайлВывода(ФайлПокрытияXML); | ||
Конвертер.РазобратьПокрытие(); | ||
|
||
// Получение строк для покрытия | ||
СтартерBSLLS.ПолучитьОтчетGenericCoverage(КаталогПроекта, КаталогИсходныхФайлов, ФайлСтрокиXML); | ||
|
||
// Запуск проверки SQ | ||
Если ЗначениеЗаполнено(ПутьКСканеру) Тогда | ||
|
||
ФайлыПокрытия = Новый Массив; | ||
ФайлыПокрытия.Добавить(ФайлПокрытияXML); | ||
ФайлыПокрытия.Добавить(ФайлСтрокиXML); | ||
|
||
ФайлыПокрытияСтр = СтрСоединить(ФайлыПокрытия, ","); | ||
|
||
ПараметрыКоманды = Новый Массив; | ||
ПараметрыКоманды.Добавить(СтрШаблон("-Dsonar.coverageReportPaths=%1", ФайлыПокрытияСтр)); | ||
|
||
ЗапуститьSonarScanner(ПутьКСканеру, ПараметрыКоманды); | ||
|
||
КонецЕсли; | ||
|
||
КонецПроцедуры | ||
|
||
#КонецОбласти | ||
|
||
#Область СлужебныеПроцедурыИФункции | ||
|
||
Процедура ЗапуститьVRunner(Команда, ПараметрыКоманды) | ||
|
||
СтрокаСоединения = СтрокаСоединения(); | ||
|
||
VRunner = Новый Команда(); | ||
VRunner.ПоказыватьВыводНемедленно(Истина); | ||
VRunner.УстановитьКодировкуВывода(КодировкаТекста.UTF8); | ||
VRunner.УстановитьКоманду("vrunner"); | ||
VRunner.ДобавитьПараметр(Команда); | ||
VRunner.ДобавитьПараметры(ПараметрыКоманды); | ||
VRunner.Исполнить(); | ||
|
||
КонецПроцедуры | ||
|
||
Функция СтрокаСоединения() | ||
Возврат СтрШаблон("/S%1/%2", ИмяКластера, ИмяИнформационнойБазы); | ||
КонецФункции | ||
|
||
Процедура ЗапуститьSonarScanner(ИмяКаталога, ПараметрыКоманды) | ||
|
||
SonarScanner_bin = ОбъединитьПути(ИмяКаталога, "bin", "sonar-scanner"); | ||
|
||
SonarScanner_opts = Новый Массив; | ||
SonarScanner_opts.Добавить("-XX:+UseG1GC"); | ||
SonarScanner_opts.Добавить("-XX:MaxGCPauseMillis=200"); | ||
SonarScanner_opts.Добавить("-Dfile.encoding=UTF-8"); | ||
|
||
SonarScanner_env = Новый Соответствие; | ||
SonarScanner_env.Вставить("SONAR_SCANNER_OPTS", СтрСоединить(SonarScanner_opts, " ")); | ||
|
||
SonarScanner = Новый Команда(); | ||
SonarScanner.ПоказыватьВыводНемедленно(Истина); | ||
SonarScanner.УстановитьКодировкуВывода(КодировкаТекста.UTF8); | ||
SonarScanner.УстановитьКоманду(SonarScanner_bin); | ||
SonarScanner.ДобавитьПараметры(ПараметрыКоманды); | ||
SonarScanner.УстановитьПеременныеСреды(SonarScanner_env); | ||
SonarScanner.Исполнить(); | ||
|
||
КонецПроцедуры | ||
|
||
#КонецОбласти | ||
|
||
Попытка | ||
ВыполнитьПриложение(); | ||
Исключение | ||
|
||
ИнформацияОбОшибке = ИнформацияОбОшибке(); | ||
Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); | ||
ЗавершитьРаботу(-1); | ||
|
||
КонецПопытки; |
Oops, something went wrong.