Skip to content

Commit 578c691

Browse files
committed
fix testing
1 parent 1b279bd commit 578c691

1 file changed

Lines changed: 120 additions & 70 deletions

File tree

tasks/test.os

Lines changed: 120 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// BSLLS:LatinAndCyrillicSymbolInWord-off
22
#Использовать 1bdd
33
#Использовать 1testrunner
4+
#Использовать fs
45
#Использовать 1commands
56

67
Функция ПрогнатьТесты()
@@ -26,40 +27,48 @@
2627
Возврат Успешно;
2728
КонецФункции
2829

29-
Функция ПрогнатьФичи_core()
30-
31-
ПутьОтчетаJUnit = "./bdd-log.xml";
30+
Функция ПрогнатьФичи_core(Знач КаталогФайловПокрытия)
31+
32+
ПутьКОтчетам = ОбъединитьПути("build", "reports");
33+
ФС.ОбеспечитьКаталог(ПутьКОтчетам);
3234

33-
КаталогФич = ОбъединитьПути(".", "features", "core");
35+
ПутьОтчетаJUnit = ОбъединитьПути(ПутьКОтчетам, "bdd-core-log.xml");
36+
37+
КаталогФич = ОбъединитьПути("features", "core");
3438

3539
Файл_КаталогФич = Новый Файл(КаталогФич);
36-
Если Не Файл_КаталогФич.Существует() Тогда
37-
Сообщить(СтрШаблон("Не найден каталог фич %1", КаталогФич));
38-
Возврат Истина;
39-
КонецЕсли;
4040

4141
ИсполнительБДД = Новый ИсполнительБДД;
42+
43+
Если ЗначениеЗаполнено(КаталогФайловПокрытия) Тогда
44+
ИсполнительБДД.СохранитьВКонтекст("ПризнакСтатистикиСкриптовOnescript", Новый Файл(КаталогФайловПокрытия));
45+
КонецЕсли;
46+
4247
РезультатыВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, Файл_КаталогФич);
4348
ИтоговыйРезультатВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения);
4449

45-
СтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().НеВыполнялся;
50+
СтатусыВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения();
51+
52+
СтатусВыполнения = СтатусыВыполнения.НеВыполнялся;
4653
Если РезультатыВыполнения.Строки.Количество() > 0 Тогда
47-
54+
4855
СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения);
49-
56+
ИсполнительБДД.ПоказатьПроблемныеСценарии(РезультатыВыполнения);
57+
58+
ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог());
5059
КонецЕсли;
5160

5261
ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit;
5362
ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit);
5463

55-
Сообщить(СтрШаблон("Результат прогона фич <%1>
56-
|", ИтоговыйРезультатВыполнения));
64+
Сообщить(СтрШаблон("Результат прогона фич <%1>. Путь %2
65+
|", ИтоговыйРезультатВыполнения, КаталогФич));
5766

58-
Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался;
67+
Возврат ИтоговыйРезультатВыполнения <> СтатусыВыполнения.Сломался;
5968
КонецФункции
6069

61-
Функция ПрогнатьФичи_cmd()
62-
70+
Функция ПрогнатьФичи_cmd(Знач КаталогФайловПокрытия)
71+
6372
КаталогПроекта = ОбъединитьПути(ТекущийСценарий().Каталог, "..");
6473

6574
ПутьКПриложению = ОбъединитьПути(КаталогПроекта, "src", "cmd", "gitsync.os");
@@ -68,40 +77,47 @@
6877

6978
УстановитьПеременнуюСреды("GITSYNC_TESTING_PATH", ФайлПутьКПриложению.ПолноеИмя);
7079

71-
ПутьОтчетаJUnit = ОбъединитьПути(КаталогПроекта, "bdd-log-cmd.xml");
80+
ПутьКОтчетам = ОбъединитьПути("build", "reports");
81+
ФС.ОбеспечитьКаталог(ПутьКОтчетам);
82+
83+
ПутьОтчетаJUnit = ОбъединитьПути(ПутьКОтчетам, "bdd-cmd-log.xml");
7284

73-
КаталогФич = ОбъединитьПути(КаталогПроекта, "features", "cmd");
85+
КаталогФич = ОбъединитьПути("features", "cmd");
7486

7587
Файл_КаталогФич = Новый Файл(КаталогФич);
76-
Если Не Файл_КаталогФич.Существует() Тогда
77-
Сообщить(СтрШаблон("Не найден каталог фич %1", КаталогФич));
78-
Возврат Истина;
79-
КонецЕсли;
8088

8189
ИсполнительБДД = Новый ИсполнительБДД;
90+
91+
Если ЗначениеЗаполнено(КаталогФайловПокрытия) Тогда
92+
ИсполнительБДД.СохранитьВКонтекст("ПризнакСтатистикиСкриптовOnescript", Новый Файл(КаталогФайловПокрытия));
93+
КонецЕсли;
94+
8295
РезультатыВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, Файл_КаталогФич);
8396
ИтоговыйРезультатВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения);
8497

85-
СтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().НеВыполнялся;
98+
СтатусыВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения();
99+
100+
СтатусВыполнения = СтатусыВыполнения.НеВыполнялся;
86101
Если РезультатыВыполнения.Строки.Количество() > 0 Тогда
87-
102+
88103
СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения);
89-
104+
ИсполнительБДД.ПоказатьПроблемныеСценарии(РезультатыВыполнения);
105+
106+
ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог());
90107
КонецЕсли;
91108

92109
ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit;
93110
ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit);
94111

95-
Сообщить(СтрШаблон("Результат прогона фич <%1>
96-
|", ИтоговыйРезультатВыполнения));
112+
Сообщить(СтрШаблон("Результат прогона фич <%1>. Путь %2
113+
|", ИтоговыйРезультатВыполнения, КаталогФич));
97114

98-
Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался;
115+
Возврат ИтоговыйРезультатВыполнения <> СтатусыВыполнения.Сломался;
99116
КонецФункции
100117

101-
Функция ПрогнатьФичи_exe()
102-
103-
СобратьEXE();
118+
Функция ПрогнатьФичи_exe(Знач КаталогФайловПокрытия)
104119

120+
СобратьEXE();
105121
КаталогПроекта = ОбъединитьПути(ТекущийСценарий().Каталог, "..");
106122

107123
ПутьКПриложению = ОбъединитьПути(КаталогПроекта, "bin", "gitsync.exe");
@@ -110,41 +126,49 @@
110126

111127
УстановитьПеременнуюСреды("GITSYNC_TESTING_PATH", ФайлПутьКПриложению.ПолноеИмя);
112128

113-
ПутьОтчетаJUnit = ОбъединитьПути(КаталогПроекта, "bdd-log-exe.xml");
129+
ПутьКОтчетам = ОбъединитьПути("build", "reports");
130+
ФС.ОбеспечитьКаталог(ПутьКОтчетам);
131+
132+
ПутьОтчетаJUnit = ОбъединитьПути(ПутьКОтчетам, "bdd-exe-log.xml");
114133

115-
КаталогФич = ОбъединитьПути(КаталогПроекта, "features", "cmd");
134+
КаталогФич = ОбъединитьПути("features", "cmd");
116135

117136
Файл_КаталогФич = Новый Файл(КаталогФич);
118-
Если Не Файл_КаталогФич.Существует() Тогда
119-
Сообщить(СтрШаблон("Не найден каталог фич %1", КаталогФич));
120-
Возврат Истина;
121-
КонецЕсли;
122137

123138
ИсполнительБДД = Новый ИсполнительБДД;
139+
140+
Если ЗначениеЗаполнено(КаталогФайловПокрытия) Тогда
141+
ИсполнительБДД.СохранитьВКонтекст("ПризнакСтатистикиСкриптовOnescript", Новый Файл(КаталогФайловПокрытия));
142+
КонецЕсли;
143+
124144
РезультатыВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, Файл_КаталогФич);
125145
ИтоговыйРезультатВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения);
126146

127-
СтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().НеВыполнялся;
147+
СтатусыВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения();
148+
149+
СтатусВыполнения = СтатусыВыполнения.НеВыполнялся;
128150
Если РезультатыВыполнения.Строки.Количество() > 0 Тогда
129-
151+
130152
СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения);
131-
153+
ИсполнительБДД.ПоказатьПроблемныеСценарии(РезультатыВыполнения);
154+
155+
ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог());
132156
КонецЕсли;
133157

134158
ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit;
135159
ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit);
136160

137-
Сообщить(СтрШаблон("Результат прогона фич <%1>
138-
|", ИтоговыйРезультатВыполнения));
161+
Сообщить(СтрШаблон("Результат прогона фич <%1>. Путь %2
162+
|", ИтоговыйРезультатВыполнения, КаталогФич));
139163

140-
Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался;
164+
Возврат ИтоговыйРезультатВыполнения <> СтатусыВыполнения.Сломался;
141165
КонецФункции
142166

143167
Процедура СобратьEXE()
144168

145169
КомандаOpm = Новый Команда;
146170
КомандаOpm.УстановитьКоманду("opm");
147-
КомандаOpm.ДобавитьПараметр("run make");
171+
КомандаOpm.ДобавитьПараметр("run make");
148172

149173
КодВозврата = КомандаOpm.Исполнить();
150174

@@ -156,53 +180,79 @@
156180

157181
КонецПроцедуры
158182

159-
Функция ПрогнатьФичи_opm()
160-
161-
ПутьОтчетаJUnit = "./bdd-log.xml";
183+
Функция ПрогнатьФичи_opm(Знач КаталогФайловПокрытия)
184+
185+
ПутьКОтчетам = ОбъединитьПути("build", "reports");
186+
ФС.ОбеспечитьКаталог(ПутьКОтчетам);
162187

163-
КаталогФич = ОбъединитьПути(".", "features", "opm");
188+
ПутьОтчетаJUnit = ОбъединитьПути(ПутьКОтчетам, "bdd-opm-log.xml");
189+
190+
КаталогФич = ОбъединитьПути("features", "opm");
164191

165192
Файл_КаталогФич = Новый Файл(КаталогФич);
166-
Если Не Файл_КаталогФич.Существует() Тогда
167-
Сообщить(СтрШаблон("Не найден каталог фич %1", КаталогФич));
168-
Возврат Истина;
169-
КонецЕсли;
170193

171194
ИсполнительБДД = Новый ИсполнительБДД;
195+
196+
Если ЗначениеЗаполнено(КаталогФайловПокрытия) Тогда
197+
ИсполнительБДД.СохранитьВКонтекст("ПризнакСтатистикиСкриптовOnescript", Новый Файл(КаталогФайловПокрытия));
198+
КонецЕсли;
199+
172200
РезультатыВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, Файл_КаталогФич);
173201
ИтоговыйРезультатВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения);
174202

175-
СтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().НеВыполнялся;
203+
СтатусыВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения();
204+
205+
СтатусВыполнения = СтатусыВыполнения.НеВыполнялся;
176206
Если РезультатыВыполнения.Строки.Количество() > 0 Тогда
177-
207+
178208
СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения);
179-
209+
ИсполнительБДД.ПоказатьПроблемныеСценарии(РезультатыВыполнения);
210+
211+
ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог());
180212
КонецЕсли;
181213

182214
ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit;
183215
ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit);
184216

185-
Сообщить(СтрШаблон("Результат прогона фич <%1>
186-
|", ИтоговыйРезультатВыполнения));
217+
Сообщить(СтрШаблон("Результат прогона фич <%1>. Путь %2
218+
|", ИтоговыйРезультатВыполнения, КаталогФич));
187219

188-
Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался;
220+
Возврат ИтоговыйРезультатВыполнения <> СтатусыВыполнения.Сломался;
189221
КонецФункции
190222

191-
Функция ПрогнатьФичи()
192-
193-
ФичиПрошли_opm = ПрогнатьФичи_opm();
194-
ФичиПрошли_core = ПрогнатьФичи_core();
195-
ФичиПрошли_cmd = ПрогнатьФичи_cmd();
196-
ФичиПрошли_exe = ПрогнатьФичи_exe();
223+
224+
Функция ПрогнатьФичи(Знач КаталогФайловПокрытия)
225+
226+
ФичиПрошли_opm = ПрогнатьФичи_opm(КаталогФайловПокрытия);
227+
ФичиПрошли_core = ПрогнатьФичи_core(КаталогФайловПокрытия);
228+
ФичиПрошли_cmd = ПрогнатьФичи_cmd(КаталогФайловПокрытия);
229+
ФичиПрошли_exe = ПрогнатьФичи_exe(КаталогФайловПокрытия);
197230

198231
Возврат
199232
ФичиПрошли_opm
200233
И ФичиПрошли_core
201234
И ФичиПрошли_cmd
202235
И ФичиПрошли_exe;
203-
204236
КонецФункции
205237

238+
ИмяКаталогаФайловПокрытия = "coverage";
239+
ТекКаталог = ТекущийКаталог();
240+
241+
КаталогФайловПокрытия = "";
242+
243+
ИспользуетсяПокрытиеКода = Ложь;
244+
Для каждого Элемент Из АргументыКоманднойСтроки Цикл
245+
Если Элемент = "coverage" Тогда
246+
247+
КаталогФайловПокрытия = ОбъединитьПути(ТекущийКаталог(), ".", ИмяКаталогаФайловПокрытия);
248+
ФС.ОбеспечитьПустойКаталог(КаталогФайловПокрытия);
249+
250+
Прервать;
251+
КонецЕсли;
252+
КонецЦикла;
253+
254+
УстановитьТекущийКаталог(ТекКаталог);
255+
206256
ТестыПрошли = Истина;
207257

208258
Попытка
@@ -216,16 +266,16 @@
216266
ФичиПрошли = Истина;
217267

218268
Попытка
219-
ФичиПрошли = ПрогнатьФичи();
269+
ФичиПрошли = ПрогнатьФичи(КаталогФайловПокрытия);
220270
Исключение
221271
ФичиПрошли = Ложь;
222272
Сообщить(СтрШаблон("Тесты поведения через 1bdd выполнены неудачно
223273
|%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())));
224274
КонецПопытки;
225275

226-
Если Не ТестыПрошли Или Не ФичиПрошли Тогда
276+
Сообщить(СтрШаблон("Результат прогона основных фич <%1>
277+
|", ФичиПрошли));
278+
279+
Если Не ФичиПрошли Тогда
227280
ВызватьИсключение "Тестирование завершилось неудачно!";
228-
Иначе
229-
Сообщить(СтрШаблон("Результат прогона тестов <%1>
230-
|", ТестыПрошли));
231281
КонецЕсли;

0 commit comments

Comments
 (0)