diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index e35e42de6..22305ff0c 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -181,17 +181,11 @@ &НаКлиенте Функция ЗагрузитьФайл(КонтекстЯдра, ФайлОбработки) ЗагрузчикФайла = КонтекстЯдра.Плагин("ЗагрузчикФайла"); - Попытка - ДеревоТестовФайла = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлОбработки.ПолноеИмя); - Результат = ДеревоТестовФайла; - Если ДеревоТестовФайла.Строки.Количество() > 0 Тогда - Результат = ДеревоТестовФайла.Строки[0]; - КонецЕсли; - - Исключение - Сообщить("Не удалось загрузить файл " + ФайлОбработки.ПолноеИмя + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); - Результат = Неопределено; - КонецПопытки; + ДеревоТестовФайла = ЗагрузчикФайла.Загрузить(КонтекстЯдра, ФайлОбработки.ПолноеИмя); + Результат = ДеревоТестовФайла; + Если ДеревоТестовФайла.Строки.Количество() > 0 Тогда + Результат = ДеревоТестовФайла.Строки[0]; + КонецЕсли; Возврат Результат; КонецФункции diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 40bafd4f1..813e378c9 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -140,33 +140,54 @@ ПолноеИмяБраузераТестов = КонтекстЯдра.Объект.ПолноеИмяБраузераТестов; ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); - ДеревоТестов = Неопределено; - Для Сч = 1 По СтрЧислоСтрок(Путь) Цикл - ФайлОбработки = Новый Файл(СтрПолучитьСтроку(Путь, Сч)); - ПроверитьКорректностьФайла(ФайлОбработки); + ИмяКонтейнера = СтрПолучитьСтроку(Путь, 1); + ДеревоТестов = ПостроительДереваТестов.СоздатьКонтейнер(ИмяКонтейнера); + Попытка + Для Сч = 1 По СтрЧислоСтрок(Путь) Цикл + ФайлОбработки = Новый Файл(СтрПолучитьСтроку(Путь, Сч)); + ПроверитьКорректностьФайла(ФайлОбработки); + + ПодключитьВнешнююОбработку(КонтекстЯдра, ФайлОбработки); + + ИмяОбработки = ""; + МассивСообщений = Неопределено; + + КонтейнерССервернымиТестамиОбработки = ЗагрузитьФайлНаСервере(ФайлОбработки.ПолноеИмя, ИмяОбработки, + КонтекстЯдра.Объект, МассивСообщений); + КонтейнерСКлиентскимиТестамиОбработки = ЗагрузитьФайлНаКлиенте(ПостроительДереваТестов, ФайлОбработки, + КонтекстЯдра, ИмяОбработки); + Если КонтейнерСКлиентскимиТестамиОбработки.Строки.Количество() > 0 Тогда + КонтейнерССервернымиТестамиОбработки.Строки.Добавить(КонтейнерСКлиентскимиТестамиОбработки); + КонецЕсли; + Если КонтейнерССервернымиТестамиОбработки.Строки.Количество() > 0 Тогда + ДеревоТестов.Строки.Добавить(КонтейнерССервернымиТестамиОбработки); + КонецЕсли; + + КонтекстЯдра.ВывестиНакопленныеСообщенияОтСервераВРежимеОтладки(МассивСообщений); + КонецЦикла; - Если ДеревоТестов = Неопределено Тогда - ДеревоТестов = ПостроительДереваТестов.СоздатьКонтейнер(ФайлОбработки.Путь); - КонецЕсли; + Исключение - ПодключитьВнешнююОбработку(КонтекстЯдра, ФайлОбработки); + ШаблонСообщения = НСтр("ru = 'Не удалось загрузить файл %1 + |%2'"); - ИмяОбработки = ""; - МассивСообщений = Неопределено; - - КонтейнерССервернымиТестамиОбработки = ЗагрузитьФайлНаСервере(ФайлОбработки.ПолноеИмя, ИмяОбработки, - КонтекстЯдра.Объект, МассивСообщений); - КонтейнерСКлиентскимиТестамиОбработки = ЗагрузитьФайлНаКлиенте(ПостроительДереваТестов, ФайлОбработки, - КонтекстЯдра, ИмяОбработки); - Если КонтейнерСКлиентскимиТестамиОбработки.Строки.Количество() > 0 Тогда - КонтейнерССервернымиТестамиОбработки.Строки.Добавить(КонтейнерСКлиентскимиТестамиОбработки); - КонецЕсли; - Если КонтейнерССервернымиТестамиОбработки.Строки.Количество() > 0 Тогда - ДеревоТестов.Строки.Добавить(КонтейнерССервернымиТестамиОбработки); - КонецЕсли; + ИнформацияОбОшибке = ИнформацияОбОшибке(); + ПолныйТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); - КонтекстЯдра.ВывестиНакопленныеСообщенияОтСервераВРежимеОтладки(МассивСообщений); - КонецЦикла; + ПолныйТекстОшибки = СтрШаблон(ШаблонСообщения, Путь, ПолныйТекстОшибки); + КраткийТекстОшибки = СтрШаблон(ШаблонСообщения, Путь, КраткийТекстОшибки); + + КонтекстЯдра.Отладка(ПолныйТекстОшибки); + КонтекстЯдра.ЗафиксироватьОшибкуВЖурналеРегистрации("ЗагрузкаТестов", ПолныйТекстОшибки); + КонтекстЯдра.ВывестиСообщение(КраткийТекстОшибки, СтатусСообщения.Внимание); + + // Тут достаточно взвести флаг ошибки для всех тестов целиком и продолжить, но непонятно как взвести флаг ошибки отсюда. + // Поэтому пока вызываем исключение. + // Лучше ведь починить и перезапустить, чем пропустить ошибку из-за незагруженного файла с тестами. + ВызватьИсключение; + + КонецПопытки; Возврат ДеревоТестов; КонецФункции