|
1 | 1 | // BSLLS:LatinAndCyrillicSymbolInWord-off |
2 | 2 | #Использовать 1bdd |
3 | 3 | #Использовать 1testrunner |
| 4 | +#Использовать fs |
4 | 5 | #Использовать 1commands |
5 | 6 |
|
6 | 7 | Функция ПрогнатьТесты() |
|
26 | 27 | Возврат Успешно; |
27 | 28 | КонецФункции |
28 | 29 |
|
29 | | -Функция ПрогнатьФичи_core() |
30 | | - |
31 | | - ПутьОтчетаJUnit = "./bdd-log.xml"; |
| 30 | +Функция ПрогнатьФичи_core(Знач КаталогФайловПокрытия) |
| 31 | + |
| 32 | + ПутьКОтчетам = ОбъединитьПути("build", "reports"); |
| 33 | + ФС.ОбеспечитьКаталог(ПутьКОтчетам); |
32 | 34 |
|
33 | | - КаталогФич = ОбъединитьПути(".", "features", "core"); |
| 35 | + ПутьОтчетаJUnit = ОбъединитьПути(ПутьКОтчетам, "bdd-core-log.xml"); |
| 36 | + |
| 37 | + КаталогФич = ОбъединитьПути("features", "core"); |
34 | 38 |
|
35 | 39 | Файл_КаталогФич = Новый Файл(КаталогФич); |
36 | | - Если Не Файл_КаталогФич.Существует() Тогда |
37 | | - Сообщить(СтрШаблон("Не найден каталог фич %1", КаталогФич)); |
38 | | - Возврат Истина; |
39 | | - КонецЕсли; |
40 | 40 |
|
41 | 41 | ИсполнительБДД = Новый ИсполнительБДД; |
| 42 | + |
| 43 | + Если ЗначениеЗаполнено(КаталогФайловПокрытия) Тогда |
| 44 | + ИсполнительБДД.СохранитьВКонтекст("ПризнакСтатистикиСкриптовOnescript", Новый Файл(КаталогФайловПокрытия)); |
| 45 | + КонецЕсли; |
| 46 | + |
42 | 47 | РезультатыВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, Файл_КаталогФич); |
43 | 48 | ИтоговыйРезультатВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); |
44 | 49 |
|
45 | | - СтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().НеВыполнялся; |
| 50 | + СтатусыВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения(); |
| 51 | + |
| 52 | + СтатусВыполнения = СтатусыВыполнения.НеВыполнялся; |
46 | 53 | Если РезультатыВыполнения.Строки.Количество() > 0 Тогда |
47 | | - |
| 54 | + |
48 | 55 | СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); |
49 | | - |
| 56 | + ИсполнительБДД.ПоказатьПроблемныеСценарии(РезультатыВыполнения); |
| 57 | + |
| 58 | + ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог()); |
50 | 59 | КонецЕсли; |
51 | 60 |
|
52 | 61 | ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit; |
53 | 62 | ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit); |
54 | 63 |
|
55 | | - Сообщить(СтрШаблон("Результат прогона фич <%1> |
56 | | - |", ИтоговыйРезультатВыполнения)); |
| 64 | + Сообщить(СтрШаблон("Результат прогона фич <%1>. Путь %2 |
| 65 | + |", ИтоговыйРезультатВыполнения, КаталогФич)); |
57 | 66 |
|
58 | | - Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался; |
| 67 | + Возврат ИтоговыйРезультатВыполнения <> СтатусыВыполнения.Сломался; |
59 | 68 | КонецФункции |
60 | 69 |
|
61 | | -Функция ПрогнатьФичи_cmd() |
62 | | - |
| 70 | +Функция ПрогнатьФичи_cmd(Знач КаталогФайловПокрытия) |
| 71 | + |
63 | 72 | КаталогПроекта = ОбъединитьПути(ТекущийСценарий().Каталог, ".."); |
64 | 73 |
|
65 | 74 | ПутьКПриложению = ОбъединитьПути(КаталогПроекта, "src", "cmd", "gitsync.os"); |
|
68 | 77 |
|
69 | 78 | УстановитьПеременнуюСреды("GITSYNC_TESTING_PATH", ФайлПутьКПриложению.ПолноеИмя); |
70 | 79 |
|
71 | | - ПутьОтчетаJUnit = ОбъединитьПути(КаталогПроекта, "bdd-log-cmd.xml"); |
| 80 | + ПутьКОтчетам = ОбъединитьПути("build", "reports"); |
| 81 | + ФС.ОбеспечитьКаталог(ПутьКОтчетам); |
| 82 | + |
| 83 | + ПутьОтчетаJUnit = ОбъединитьПути(ПутьКОтчетам, "bdd-cmd-log.xml"); |
72 | 84 |
|
73 | | - КаталогФич = ОбъединитьПути(КаталогПроекта, "features", "cmd"); |
| 85 | + КаталогФич = ОбъединитьПути("features", "cmd"); |
74 | 86 |
|
75 | 87 | Файл_КаталогФич = Новый Файл(КаталогФич); |
76 | | - Если Не Файл_КаталогФич.Существует() Тогда |
77 | | - Сообщить(СтрШаблон("Не найден каталог фич %1", КаталогФич)); |
78 | | - Возврат Истина; |
79 | | - КонецЕсли; |
80 | 88 |
|
81 | 89 | ИсполнительБДД = Новый ИсполнительБДД; |
| 90 | + |
| 91 | + Если ЗначениеЗаполнено(КаталогФайловПокрытия) Тогда |
| 92 | + ИсполнительБДД.СохранитьВКонтекст("ПризнакСтатистикиСкриптовOnescript", Новый Файл(КаталогФайловПокрытия)); |
| 93 | + КонецЕсли; |
| 94 | + |
82 | 95 | РезультатыВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, Файл_КаталогФич); |
83 | 96 | ИтоговыйРезультатВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); |
84 | 97 |
|
85 | | - СтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().НеВыполнялся; |
| 98 | + СтатусыВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения(); |
| 99 | + |
| 100 | + СтатусВыполнения = СтатусыВыполнения.НеВыполнялся; |
86 | 101 | Если РезультатыВыполнения.Строки.Количество() > 0 Тогда |
87 | | - |
| 102 | + |
88 | 103 | СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); |
89 | | - |
| 104 | + ИсполнительБДД.ПоказатьПроблемныеСценарии(РезультатыВыполнения); |
| 105 | + |
| 106 | + ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог()); |
90 | 107 | КонецЕсли; |
91 | 108 |
|
92 | 109 | ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit; |
93 | 110 | ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit); |
94 | 111 |
|
95 | | - Сообщить(СтрШаблон("Результат прогона фич <%1> |
96 | | - |", ИтоговыйРезультатВыполнения)); |
| 112 | + Сообщить(СтрШаблон("Результат прогона фич <%1>. Путь %2 |
| 113 | + |", ИтоговыйРезультатВыполнения, КаталогФич)); |
97 | 114 |
|
98 | | - Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался; |
| 115 | + Возврат ИтоговыйРезультатВыполнения <> СтатусыВыполнения.Сломался; |
99 | 116 | КонецФункции |
100 | 117 |
|
101 | | -Функция ПрогнатьФичи_exe() |
102 | | - |
103 | | - СобратьEXE(); |
| 118 | +Функция ПрогнатьФичи_exe(Знач КаталогФайловПокрытия) |
104 | 119 |
|
| 120 | + СобратьEXE(); |
105 | 121 | КаталогПроекта = ОбъединитьПути(ТекущийСценарий().Каталог, ".."); |
106 | 122 |
|
107 | 123 | ПутьКПриложению = ОбъединитьПути(КаталогПроекта, "bin", "gitsync.exe"); |
|
110 | 126 |
|
111 | 127 | УстановитьПеременнуюСреды("GITSYNC_TESTING_PATH", ФайлПутьКПриложению.ПолноеИмя); |
112 | 128 |
|
113 | | - ПутьОтчетаJUnit = ОбъединитьПути(КаталогПроекта, "bdd-log-exe.xml"); |
| 129 | + ПутьКОтчетам = ОбъединитьПути("build", "reports"); |
| 130 | + ФС.ОбеспечитьКаталог(ПутьКОтчетам); |
| 131 | + |
| 132 | + ПутьОтчетаJUnit = ОбъединитьПути(ПутьКОтчетам, "bdd-exe-log.xml"); |
114 | 133 |
|
115 | | - КаталогФич = ОбъединитьПути(КаталогПроекта, "features", "cmd"); |
| 134 | + КаталогФич = ОбъединитьПути("features", "cmd"); |
116 | 135 |
|
117 | 136 | Файл_КаталогФич = Новый Файл(КаталогФич); |
118 | | - Если Не Файл_КаталогФич.Существует() Тогда |
119 | | - Сообщить(СтрШаблон("Не найден каталог фич %1", КаталогФич)); |
120 | | - Возврат Истина; |
121 | | - КонецЕсли; |
122 | 137 |
|
123 | 138 | ИсполнительБДД = Новый ИсполнительБДД; |
| 139 | + |
| 140 | + Если ЗначениеЗаполнено(КаталогФайловПокрытия) Тогда |
| 141 | + ИсполнительБДД.СохранитьВКонтекст("ПризнакСтатистикиСкриптовOnescript", Новый Файл(КаталогФайловПокрытия)); |
| 142 | + КонецЕсли; |
| 143 | + |
124 | 144 | РезультатыВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, Файл_КаталогФич); |
125 | 145 | ИтоговыйРезультатВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); |
126 | 146 |
|
127 | | - СтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().НеВыполнялся; |
| 147 | + СтатусыВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения(); |
| 148 | + |
| 149 | + СтатусВыполнения = СтатусыВыполнения.НеВыполнялся; |
128 | 150 | Если РезультатыВыполнения.Строки.Количество() > 0 Тогда |
129 | | - |
| 151 | + |
130 | 152 | СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); |
131 | | - |
| 153 | + ИсполнительБДД.ПоказатьПроблемныеСценарии(РезультатыВыполнения); |
| 154 | + |
| 155 | + ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог()); |
132 | 156 | КонецЕсли; |
133 | 157 |
|
134 | 158 | ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit; |
135 | 159 | ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit); |
136 | 160 |
|
137 | | - Сообщить(СтрШаблон("Результат прогона фич <%1> |
138 | | - |", ИтоговыйРезультатВыполнения)); |
| 161 | + Сообщить(СтрШаблон("Результат прогона фич <%1>. Путь %2 |
| 162 | + |", ИтоговыйРезультатВыполнения, КаталогФич)); |
139 | 163 |
|
140 | | - Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался; |
| 164 | + Возврат ИтоговыйРезультатВыполнения <> СтатусыВыполнения.Сломался; |
141 | 165 | КонецФункции |
142 | 166 |
|
143 | 167 | Процедура СобратьEXE() |
144 | 168 |
|
145 | 169 | КомандаOpm = Новый Команда; |
146 | 170 | КомандаOpm.УстановитьКоманду("opm"); |
147 | | - КомандаOpm.ДобавитьПараметр("run make"); |
| 171 | + КомандаOpm.ДобавитьПараметр("run make"); |
148 | 172 |
|
149 | 173 | КодВозврата = КомандаOpm.Исполнить(); |
150 | 174 |
|
|
156 | 180 |
|
157 | 181 | КонецПроцедуры |
158 | 182 |
|
159 | | -Функция ПрогнатьФичи_opm() |
160 | | - |
161 | | - ПутьОтчетаJUnit = "./bdd-log.xml"; |
| 183 | +Функция ПрогнатьФичи_opm(Знач КаталогФайловПокрытия) |
| 184 | + |
| 185 | + ПутьКОтчетам = ОбъединитьПути("build", "reports"); |
| 186 | + ФС.ОбеспечитьКаталог(ПутьКОтчетам); |
162 | 187 |
|
163 | | - КаталогФич = ОбъединитьПути(".", "features", "opm"); |
| 188 | + ПутьОтчетаJUnit = ОбъединитьПути(ПутьКОтчетам, "bdd-opm-log.xml"); |
| 189 | + |
| 190 | + КаталогФич = ОбъединитьПути("features", "opm"); |
164 | 191 |
|
165 | 192 | Файл_КаталогФич = Новый Файл(КаталогФич); |
166 | | - Если Не Файл_КаталогФич.Существует() Тогда |
167 | | - Сообщить(СтрШаблон("Не найден каталог фич %1", КаталогФич)); |
168 | | - Возврат Истина; |
169 | | - КонецЕсли; |
170 | 193 |
|
171 | 194 | ИсполнительБДД = Новый ИсполнительБДД; |
| 195 | + |
| 196 | + Если ЗначениеЗаполнено(КаталогФайловПокрытия) Тогда |
| 197 | + ИсполнительБДД.СохранитьВКонтекст("ПризнакСтатистикиСкриптовOnescript", Новый Файл(КаталогФайловПокрытия)); |
| 198 | + КонецЕсли; |
| 199 | + |
172 | 200 | РезультатыВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, Файл_КаталогФич); |
173 | 201 | ИтоговыйРезультатВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); |
174 | 202 |
|
175 | | - СтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().НеВыполнялся; |
| 203 | + СтатусыВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения(); |
| 204 | + |
| 205 | + СтатусВыполнения = СтатусыВыполнения.НеВыполнялся; |
176 | 206 | Если РезультатыВыполнения.Строки.Количество() > 0 Тогда |
177 | | - |
| 207 | + |
178 | 208 | СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); |
179 | | - |
| 209 | + ИсполнительБДД.ПоказатьПроблемныеСценарии(РезультатыВыполнения); |
| 210 | + |
| 211 | + ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог()); |
180 | 212 | КонецЕсли; |
181 | 213 |
|
182 | 214 | ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit; |
183 | 215 | ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit); |
184 | 216 |
|
185 | | - Сообщить(СтрШаблон("Результат прогона фич <%1> |
186 | | - |", ИтоговыйРезультатВыполнения)); |
| 217 | + Сообщить(СтрШаблон("Результат прогона фич <%1>. Путь %2 |
| 218 | + |", ИтоговыйРезультатВыполнения, КаталогФич)); |
187 | 219 |
|
188 | | - Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался; |
| 220 | + Возврат ИтоговыйРезультатВыполнения <> СтатусыВыполнения.Сломался; |
189 | 221 | КонецФункции |
190 | 222 |
|
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(КаталогФайловПокрытия); |
197 | 230 |
|
198 | 231 | Возврат |
199 | 232 | ФичиПрошли_opm |
200 | 233 | И ФичиПрошли_core |
201 | 234 | И ФичиПрошли_cmd |
202 | 235 | И ФичиПрошли_exe; |
203 | | - |
204 | 236 | КонецФункции |
205 | 237 |
|
| 238 | +ИмяКаталогаФайловПокрытия = "coverage"; |
| 239 | +ТекКаталог = ТекущийКаталог(); |
| 240 | + |
| 241 | +КаталогФайловПокрытия = ""; |
| 242 | + |
| 243 | +ИспользуетсяПокрытиеКода = Ложь; |
| 244 | +Для каждого Элемент Из АргументыКоманднойСтроки Цикл |
| 245 | + Если Элемент = "coverage" Тогда |
| 246 | + |
| 247 | + КаталогФайловПокрытия = ОбъединитьПути(ТекущийКаталог(), ".", ИмяКаталогаФайловПокрытия); |
| 248 | + ФС.ОбеспечитьПустойКаталог(КаталогФайловПокрытия); |
| 249 | + |
| 250 | + Прервать; |
| 251 | + КонецЕсли; |
| 252 | +КонецЦикла; |
| 253 | + |
| 254 | +УстановитьТекущийКаталог(ТекКаталог); |
| 255 | + |
206 | 256 | ТестыПрошли = Истина; |
207 | 257 |
|
208 | 258 | Попытка |
|
216 | 266 | ФичиПрошли = Истина; |
217 | 267 |
|
218 | 268 | Попытка |
219 | | - ФичиПрошли = ПрогнатьФичи(); |
| 269 | + ФичиПрошли = ПрогнатьФичи(КаталогФайловПокрытия); |
220 | 270 | Исключение |
221 | 271 | ФичиПрошли = Ложь; |
222 | 272 | Сообщить(СтрШаблон("Тесты поведения через 1bdd выполнены неудачно |
223 | 273 | |%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()))); |
224 | 274 | КонецПопытки; |
225 | 275 |
|
226 | | -Если Не ТестыПрошли Или Не ФичиПрошли Тогда |
| 276 | +Сообщить(СтрШаблон("Результат прогона основных фич <%1> |
| 277 | +|", ФичиПрошли)); |
| 278 | + |
| 279 | +Если Не ФичиПрошли Тогда |
227 | 280 | ВызватьИсключение "Тестирование завершилось неудачно!"; |
228 | | -Иначе |
229 | | - Сообщить(СтрШаблон("Результат прогона тестов <%1> |
230 | | - |", ТестыПрошли)); |
231 | 281 | КонецЕсли; |
0 commit comments