|
6 | 6 |
|
7 | 7 | Процедура ДобавитьОписанияКоманд(Знач Парсер) Экспорт |
8 | 8 | ДобавитьКомандуBuild(Парсер); |
| 9 | + ДобавитьКомандуTest(Парсер); |
9 | 10 | ДобавитьКомандуPrepare(Парсер); |
10 | 11 | ДобавитьКомандуInstall(Парсер); |
11 | 12 | ДобавитьКомандуUpdate(Парсер); |
|
31 | 32 | Парсер.ДобавитьКоманду(Команда); |
32 | 33 | КонецПроцедуры |
33 | 34 |
|
| 35 | +Процедура ДобавитьКомандуTest(Знач Парсер) |
| 36 | + Команда = Парсер.ОписаниеКоманды("test", "Выполнить тестирование разрабатываемого пакета"); |
| 37 | + Парсер.ДобавитьПозиционныйПараметрКоманды(Команда, "ПутьКТестРаннеру", "Путь к скрипту-запускателю тестов. Необязательный."); |
| 38 | + Парсер.ДобавитьКоманду(Команда); |
| 39 | +КонецПроцедуры |
| 40 | + |
34 | 41 | Процедура ДобавитьКомандуInstall(Знач Парсер) |
35 | 42 | Команда = Парсер.ОписаниеКоманды("install", "Выполнить установку. Если указано имя пакета, происходит установка из хаба или из файла. В обратном случае устанавливаются зависимости текущего пакета по файлу packagedef."); |
36 | 43 | Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-f", "Указать файл из которого нужно установить пакет"); |
|
75 | 82 | ЗначенияПараметров = ПараметрыКоманды.ЗначенияПараметров; |
76 | 83 | Если ПараметрыКоманды.Команда = "build" Тогда |
77 | 84 | ВыполнитьСборку(ЗначенияПараметров["КаталогИсходников"], ЗначенияПараметров["-mf"], ЗначенияПараметров["-out"]); |
| 85 | + ИначеЕсли ПараметрыКоманды.Команда = "test" Тогда |
| 86 | + ПротестироватьПакет(ЗначенияПараметров["ПутьКТестРаннеру"]); |
78 | 87 | ИначеЕсли ПараметрыКоманды.Команда = "prepare" Тогда |
79 | 88 | ПодготовитьКаталогПроекта(ЗначенияПараметров["КаталогСборкиПакета"]); |
80 | 89 | ИначеЕсли ПараметрыКоманды.Команда = "install" Тогда |
|
121 | 130 |
|
122 | 131 | КонецПроцедуры |
123 | 132 |
|
| 133 | +Процедура ПротестироватьПакет(Знач ПутьКТестРаннеру) |
| 134 | + |
| 135 | + Если НЕ ЗначениеЗаполнено(ПутьКТестРаннеру) Тогда |
| 136 | + ПутьКТестРаннеру = ОбъединитьПути(ТекущийКаталог(), "tests", "index.os"); |
| 137 | + КонецЕсли; |
| 138 | + |
| 139 | + Файл_ТестРаннер = Новый Файл(ПутьКТестРаннеру); |
| 140 | + Если НЕ Файл_ТестРаннер.Существует() Тогда |
| 141 | + ТекстСообщения = СтрШаблон("Не найден тестраннер: %1", Файл_ТестРаннер.ПолноеИмя); |
| 142 | + ВызватьИсключение ТекстСообщения; |
| 143 | + КонецЕсли; |
| 144 | + |
| 145 | + Контекст = Новый Структура; |
| 146 | + ТестРаннер = ЗагрузитьСценарий(ПутьКТестРаннеру, Контекст); |
| 147 | + ТестРаннер.Запустить(); |
| 148 | + |
| 149 | +КонецПроцедуры |
| 150 | + |
124 | 151 | Процедура ОбновитьПакет(Знач ЗначенияПараметров) Экспорт |
125 | 152 |
|
126 | 153 | Установщик = Новый УстановкаПакета; |
|
0 commit comments