forked from vanessa-opensource/vanessa-runner
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.os
60 lines (43 loc) · 3.37 KB
/
test.os
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// Прогон фич
// При передаче параметра coverage будет включен подсчет покрытия кода,
// в т.ч. для кода скриптов, запускаемых из фич
#Использовать 1bdd
#Использовать fs
Перем СохраненныйТекущийКаталог;
Процедура СохранитьТекущийКаталог()
СохраненныйТекущийКаталог = ТекущийКаталог();
КонецПроцедуры
Процедура ВосстановитьТекущийКаталог()
УстановитьТекущийКаталог(СохраненныйТекущийКаталог);
КонецПроцедуры
КаталогФич = ОбъединитьПути(".", "features");
ПутьОтчетаJUnit = ОбъединитьПути(".", "bdd-exec.xml");
ИмяКаталогаФайловПокрытия = "coverage";
Файл_КаталогФич = Новый Файл(КаталогФич);
КаталогБиблиотечныхФич = Файл_КаталогФич;
// Только для отладки Файл_КаталогФич = Новый Файл(ОбъединитьПути(КаталогФич, "ПростыеКоманды.feature"));
КаталогФайловПокрытия = ОбъединитьПути(ТекущийКаталог(), ".", ИмяКаталогаФайловПокрытия);
ФС.ОбеспечитьПустойКаталог(КаталогФайловПокрытия);
ИспользуетсяПокрытиеКода = Ложь;
Для каждого Элемент Из АргументыКоманднойСтроки Цикл
Если Элемент = "coverage" Тогда
ИспользуетсяПокрытиеКода = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
ИсполнительБДД = Новый ИсполнительБДД;
Если ИспользуетсяПокрытиеКода Тогда
ИсполнительБДД.СохранитьВКонтекст("ПризнакСтатистикиСкриптовOnescript", Новый Файл(КаталогФайловПокрытия));
КонецЕсли;
СохранитьТекущийКаталог();
РезультатВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, КаталогБиблиотечныхФич);
ИтоговыйСтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатВыполнения);
Сообщить(ИтоговыйСтатусВыполнения);
ВосстановитьТекущийКаталог();
Если Не ПустаяСтрока(ПутьОтчетаJUnit) Тогда
ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit;
ГенераторОтчетаJUnit.Сформировать(РезультатВыполнения, ИтоговыйСтатусВыполнения, ПутьОтчетаJUnit);
КонецЕсли;
Если ИтоговыйСтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался Тогда
ВызватьИсключение "Есть упавшие сценарии!";
КонецЕсли;