From 6c16bdb13a18ff40f4016a9d560e125c4c05330f Mon Sep 17 00:00:00 2001 From: Alexey Sosnoviy Date: Wed, 27 Jun 2018 12:02:33 +0300 Subject: [PATCH 1/6] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=B4=D0=B5=D1=80=D0=B6?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B0=D0=BD=D0=BD=D0=BE=D1=82=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=A2=D0=B5=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- testrunner.os | 52 +++++++++++++++++++++++++++++++++++- tests/fixtures/annotation.os | 23 ++++++++++++++++ 2 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 tests/fixtures/annotation.os diff --git a/testrunner.os b/testrunner.os index d13607e..0c43ea7 100644 --- a/testrunner.os +++ b/testrunner.os @@ -1079,7 +1079,9 @@ Возврат МассивТестовыхСлучаев; КонецЕсли; - Возврат Неопределено; + МассивТестовыхСлучаев = ПрочитатьТестовыеСлучаиОбъектаИзАннотаций(ТестОбъект, МенеджерТестирования); + + Возврат МассивТестовыхСлучаев; КонецФункции // Получает список тестовых случаев вызовом метода с предопределенным именем @@ -1116,6 +1118,54 @@ Возврат МассивТестовыхСлучаев; КонецФункции +// Получает список тестовых случаев получая методы с аннотацией &тест +// +// Параметры: +// ТестОбъект - Объект - Объект тестового сценария +// +// МенеджерТестирования - Объект - Объект менеджера тестирования +// +// Возвращаемое значение: +// Массив - массив строк-имен методов тестового сценария +// +Функция ПрочитатьТестовыеСлучаиОбъектаИзАннотаций(Знач ТестОбъект, Знач МенеджерТестирования) + + ТаблицаМетодов = Рефлектор.ПолучитьТаблицуМетодов(ТестОбъект); + Если ТаблицаМетодов.Колонки.Найти("Аннотации") = Неопределено Тогда + Возврат Неопределено; + КонецЕсли; + + МассивТестовыхСлучаев = Неопределено; + ВремМассивТестовыхСлучаев = Новый Массив; + Для Каждого ТестовыйСлучай Из ТаблицаМетодов Цикл + ДополнитьМассивПоАннотациям(ВремМассивТестовыхСлучаев, ТестовыйСлучай); + КонецЦикла; + + Если ВремМассивТестовыхСлучаев.Количество() > 0 Тогда + МассивТестовыхСлучаев = ВремМассивТестовыхСлучаев; + КонецЕсли; + ВремМассивТестовыхСлучаев = Неопределено; + + Возврат МассивТестовыхСлучаев; +КонецФункции + +Процедура ДополнитьМассивПоАннотациям(ВхМассив, ТестовыйСлучай) + + АннотацияТеста = "тест"; + Если ТестовыйСлучай.Аннотации = Неопределено Тогда + Возврат; + КонецЕсли; + + Для Каждого Аннотация Из ТестовыйСлучай.Аннотации Цикл + + Если СтрНайти(Нрег(Аннотация.Имя), АннотацияТеста) > 0 Тогда + ВхМассив.Добавить(ТестовыйСлучай.Имя); + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + Процедура Инициализация() Лог = Логирование.ПолучитьЛог(ИмяЛога()); diff --git a/tests/fixtures/annotation.os b/tests/fixtures/annotation.os new file mode 100644 index 0000000..3e996ee --- /dev/null +++ b/tests/fixtures/annotation.os @@ -0,0 +1,23 @@ +#Использовать asserts + +Перем юТест; + +&тесТ +Процедура ПередЗапускомТеста() Экспорт +//TODO вставить в журнал для проверки последовательности вызова +КонецПроцедуры + + +Процедура ПослеЗапускаТеста() Экспорт +//TODO вставить в журнал для проверки последовательности вызова +КонецПроцедуры + +&Тест +Процедура ТестДолжен_ПроверитьВерсию() Экспорт +//TODO вставить в журнал для проверки последовательности вызова + Утверждения.ПроверитьРавенство("0.1", Версия()); +КонецПроцедуры + +Функция Версия() + Возврат "0.1"; +КонецФункции From c2c513e7eb0e2fdf9456a2b80bf2d755458f65d8 Mon Sep 17 00:00:00 2001 From: Alexey Sosnoviy Date: Sun, 1 Jul 2018 00:46:18 +0300 Subject: [PATCH 2/6] =?UTF-8?q?=D0=90=D0=BD=D0=BD=D0=BE=D1=82=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8=20=D0=9F=D0=B5=D1=80=D0=B5=D0=B4=20=D0=9F=D0=BE?= =?UTF-8?q?=D1=81=D0=BB=D0=B5=20#1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- testrunner.os | 69 +++++++++++++++++++++++++++++------- tests/fixtures/annotation.os | 28 ++++++++++++--- 2 files changed, 79 insertions(+), 18 deletions(-) diff --git a/testrunner.os b/testrunner.os index 0c43ea7..2af5c9f 100644 --- a/testrunner.os +++ b/testrunner.os @@ -419,8 +419,8 @@ Для Сч = 0 По НаборТестов.Количество() - 1 Цикл ОписаниеТеста = НаборТестов[Сч]; - НовыйРезультатТестирования = ВыполнитьТест(ОписаниеТеста, Сч); - РезультатТестирования = ЗапомнитьСамоеХудшееСостояние(РезультатТестирования, НовыйРезультатТестирования); + НовыйРезультатТестирования = ВыполнитьПолныйТест(ОписаниеТеста, Сч); + РезультатТестирования = ЗапомнитьСамоеХудшееСостояние(РезультатТестирования, НовыйРезультатТестирования); КонецЦикла; ВывестиЛогТестирования(); @@ -685,7 +685,7 @@ Тест = ОписаниеТеста.ТестОбъект; ИмяМетода = ОписаниеТеста.ИмяМетода; - Успешно = ВыполнитьПроцедуруТестовогоСлучая(Делегаты.Создать(Тест, "ПередЗапускомТеста"), ИмяМетода, ОписаниеТеста); + Успешно = Истина; Если Не Успешно Тогда Рез = ЗначенияСостоянияТестов.Сломался; Иначе @@ -718,15 +718,59 @@ КонецЕсли; КонецЕсли; - Успешно = ВыполнитьПроцедуруТестовогоСлучая(Делегаты.Создать(Тест, "ПослеЗапускаТеста"), ИмяМетода, ОписаниеТеста); - Если Не Успешно Тогда - Рез = ЗначенияСостоянияТестов.Сломался; - КонецЕсли; КонецЕсли; Возврат Рез; КонецФункции +Функция ВыполнитьПередТестом(ОписаниеТеста) + + Возврат ВыполнитьПоАннотации(ОписаниеТеста, "перед"); + +КонецФункции + +Функция ВыполнитьПослеТеста(ОписаниеТеста) + + Возврат ВыполнитьПоАннотации(ОписаниеТеста, "после"); + +КонецФункции + +Функция ВыполнитьПоАннотации(ОписаниеТеста, СтрокаАннотации) + + ТестыПеред = ПрочитатьТестовыеСлучаиОбъектаИзАннотаций(ОписаниеТеста.ТестОбъект, СтрокаАннотации); + + Если ТестыПеред = Неопределено Тогда + ТестыПеред = Новый Массив; + КонецЕсли; + + Рез = ЗначенияСостоянияТестов.Прошел; + Для Каждого ШагПередЗапуском Из ТестыПеред Цикл + + Успешно = ВыполнитьПроцедуруТестовогоСлучая(Делегаты.Создать(ОписаниеТеста.ТестОбъект, ШагПередЗапуском), ОписаниеТеста.ИмяМетода, ОписаниеТеста); + Если Не Успешно Тогда + Рез = ЗначенияСостоянияТестов.Сломался; + КонецЕсли; + + КонецЦикла; + + Возврат Рез; + +КонецФункции + +Функция ВыполнитьПолныйТест(ОписаниеТеста, НомерТеста) + + НовыйРезультатТестирования = ВыполнитьПередТестом(ОписаниеТеста); + РезультатТестирования = ЗапомнитьСамоеХудшееСостояние(РезультатТестирования, НовыйРезультатТестирования); + + НовыйРезультатТестирования = ВыполнитьТест(ОписаниеТеста, НомерТеста); + РезультатТестирования = ЗапомнитьСамоеХудшееСостояние(РезультатТестирования, НовыйРезультатТестирования); + + НовыйРезультатТестирования = ВыполнитьПослеТеста(ОписаниеТеста); + РезультатТестирования = ЗапомнитьСамоеХудшееСостояние(РезультатТестирования, НовыйРезультатТестирования); + + Возврат РезультатТестирования; +КонецФункции + Функция ВывестиОшибкуВыполненияТеста(СостояниеВыполнения, ПредставлениеОшибки, ОписаниеТеста, текстОшибки, ИнфоОшибки) ИмяМетода = ОписаниеТеста.ИмяМетода; @@ -1079,7 +1123,7 @@ Возврат МассивТестовыхСлучаев; КонецЕсли; - МассивТестовыхСлучаев = ПрочитатьТестовыеСлучаиОбъектаИзАннотаций(ТестОбъект, МенеджерТестирования); + МассивТестовыхСлучаев = ПрочитатьТестовыеСлучаиОбъектаИзАннотаций(ТестОбъект, "тест"); Возврат МассивТестовыхСлучаев; КонецФункции @@ -1128,7 +1172,7 @@ // Возвращаемое значение: // Массив - массив строк-имен методов тестового сценария // -Функция ПрочитатьТестовыеСлучаиОбъектаИзАннотаций(Знач ТестОбъект, Знач МенеджерТестирования) +Функция ПрочитатьТестовыеСлучаиОбъектаИзАннотаций(Знач ТестОбъект, Аннотация) ТаблицаМетодов = Рефлектор.ПолучитьТаблицуМетодов(ТестОбъект); Если ТаблицаМетодов.Колонки.Найти("Аннотации") = Неопределено Тогда @@ -1138,7 +1182,7 @@ МассивТестовыхСлучаев = Неопределено; ВремМассивТестовыхСлучаев = Новый Массив; Для Каждого ТестовыйСлучай Из ТаблицаМетодов Цикл - ДополнитьМассивПоАннотациям(ВремМассивТестовыхСлучаев, ТестовыйСлучай); + ДополнитьМассивПоАннотациям(ВремМассивТестовыхСлучаев, ТестовыйСлучай, Аннотация); КонецЦикла; Если ВремМассивТестовыхСлучаев.Количество() > 0 Тогда @@ -1149,16 +1193,15 @@ Возврат МассивТестовыхСлучаев; КонецФункции -Процедура ДополнитьМассивПоАннотациям(ВхМассив, ТестовыйСлучай) +Процедура ДополнитьМассивПоАннотациям(ВхМассив, ТестовыйСлучай, ИмяАннотация) - АннотацияТеста = "тест"; Если ТестовыйСлучай.Аннотации = Неопределено Тогда Возврат; КонецЕсли; Для Каждого Аннотация Из ТестовыйСлучай.Аннотации Цикл - Если СтрНайти(Нрег(Аннотация.Имя), АннотацияТеста) > 0 Тогда + Если СтрНайти(Нрег(Аннотация.Имя), ИмяАннотация) > 0 Тогда ВхМассив.Добавить(ТестовыйСлучай.Имя); КонецЕсли; diff --git a/tests/fixtures/annotation.os b/tests/fixtures/annotation.os index 3e996ee..0a3ee14 100644 --- a/tests/fixtures/annotation.os +++ b/tests/fixtures/annotation.os @@ -1,20 +1,38 @@ #Использовать asserts Перем юТест; +Перем Счетчик; -&тесТ + +&Перед Процедура ПередЗапускомТеста() Экспорт -//TODO вставить в журнал для проверки последовательности вызова + Счетчик = Новый Массив; КонецПроцедуры +&Перед +Процедура ПередЗапускомТестаПервыйРаз() Экспорт + Счетчик.Добавить("1"); +КонецПроцедуры -Процедура ПослеЗапускаТеста() Экспорт -//TODO вставить в журнал для проверки последовательности вызова +&ПереД +Процедура ПередЗапускомТестаВторойРаз() Экспорт + Счетчик.Добавить("2"); +КонецПроцедуры + +&После +Процедура ПослеЗапускаТестаВторойРаз() Экспорт + Сообщить("ТестОкончил"); КонецПроцедуры &Тест Процедура ТестДолжен_ПроверитьВерсию() Экспорт -//TODO вставить в журнал для проверки последовательности вызова + Утверждения.ПроверитьРавенство("0.1", Версия()); + Ожидаем.Что(Счетчик.Количество()).Равно(2); +КонецПроцедуры + + +&тесТ +Процедура ТестДолжен_ПроверитьВерсиюЕщеРаз() Экспорт Утверждения.ПроверитьРавенство("0.1", Версия()); КонецПроцедуры From fde83550468b01dc10be106106dd9cc2e98fdec2 Mon Sep 17 00:00:00 2001 From: Alexey Sosnoviy Date: Sun, 1 Jul 2018 12:25:49 +0300 Subject: [PATCH 3/6] =?UTF-8?q?=D0=9E=D0=B1=D1=80=D0=B0=D1=82=D0=BD=D0=B0?= =?UTF-8?q?=D1=8F=20=D1=81=D0=BE=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=B8=D0=BC?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D1=8C=20=20=D1=81=20=D1=82=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D1=80=D0=B0=D0=BD=D0=BD=D0=B5=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- testrunner.os | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/testrunner.os b/testrunner.os index 2af5c9f..afd73f0 100644 --- a/testrunner.os +++ b/testrunner.os @@ -725,22 +725,26 @@ Функция ВыполнитьПередТестом(ОписаниеТеста) - Возврат ВыполнитьПоАннотации(ОписаниеТеста, "перед"); + Возврат ВыполнитьПоАннотации(ОписаниеТеста, "перед", "ПередЗапускомТеста"); КонецФункции Функция ВыполнитьПослеТеста(ОписаниеТеста) - Возврат ВыполнитьПоАннотации(ОписаниеТеста, "после"); + Возврат ВыполнитьПоАннотации(ОписаниеТеста, "после", "ПослеЗапускаТеста"); КонецФункции -Функция ВыполнитьПоАннотации(ОписаниеТеста, СтрокаАннотации) +Функция ВыполнитьПоАннотации(ОписаниеТеста, СтрокаАннотации, ДополнительныйШаг) + ТестыПеред = Новый Массив; + ТестыПеред.Добавить(ДополнительныйШаг); + ТестыПеред = ПрочитатьТестовыеСлучаиОбъектаИзАннотаций(ОписаниеТеста.ТестОбъект, СтрокаАннотации); Если ТестыПеред = Неопределено Тогда ТестыПеред = Новый Массив; + ТестыПеред.Добавить(ДополнительныйШаг); КонецЕсли; Рез = ЗначенияСостоянияТестов.Прошел; From 660450e06b5358f8ea46112b636de3e3a0437f71 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 30 Apr 2019 18:07:36 +0300 Subject: [PATCH 4/6] =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=20VSC?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D1=80=D0=BE=D0=B3=D0=BE=D0=BD?= =?UTF-8?q?=D0=B0=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + tasks/test.os | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 tasks/test.os diff --git a/.gitignore b/.gitignore index 6123290..af75e49 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ tests/tests.xml *.ospx .vscode/launch.json +tests.xml diff --git a/tasks/test.os b/tasks/test.os new file mode 100644 index 0000000..11e47b7 --- /dev/null +++ b/tasks/test.os @@ -0,0 +1,90 @@ +#Использовать ".." + +Функция ПрогнатьТесты() + + Тестер = Новый Тестер; + + ПутьКТестам = "tests"; + ПутьКОтчетуJUnit = "."; + + ПутьКОтчетуJUnit = Новый Файл(ПутьКОтчетуJUnit).ПолноеИмя; + + РезультатТестирования = Тестер.ТестироватьКаталог( + Новый Файл(ПутьКТестам), + Новый Файл(ПутьКОтчетуJUnit) + ); + + Успешно = РезультатТестирования = 0; + + Возврат Успешно; +КонецФункции // ПрогнатьТесты() + +Функция ПрогнатьФичи(Знач ПутьФич = "features", Знач ПутьОтчетаJUnit = "./bdd-log.xml") + + КаталогФич = ОбъединитьПути(".", ПутьФич); + + Файл_КаталогФич = Новый Файл(КаталогФич); + + ИсполнительБДД = Новый ИсполнительБДД; + РезультатыВыполнения = ИсполнительБДД.ВыполнитьФичу(Файл_КаталогФич, Файл_КаталогФич); + ИтоговыйРезультатВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); + + СтатусВыполнения = ИсполнительБДД.ВозможныеСтатусыВыполнения().НеВыполнялся; + Если РезультатыВыполнения.Строки.Количество() > 0 Тогда + + СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения); + + ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог()); + КонецЕсли; + + ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit; + ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit); + + Сообщить(СтрШаблон("Результат прогона фич <%1>. Путь %2 + |", ИтоговыйРезультатВыполнения, ПутьФич)); + + Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался; +КонецФункции // ПрогнатьФичи() + +// основной код + +ТекКаталог = ТекущийКаталог(); + +Попытка + ТестыПрошли = ПрогнатьТесты(); +Исключение + ТестыПрошли = Ложь; + Сообщить(СтрШаблон("Тесты через 1testrunner выполнены неудачно + |%1 + |%2", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()), ОписаниеОшибки())); +КонецПопытки; + +УстановитьТекущийКаталог(ТекКаталог); + +// Попытка +// ФичиПрошли = ПрогнатьФичи("features/core"); +// Исключение +// ФичиПрошли = Ложь; +// Сообщить(СтрШаблон("Тесты поведения через 1bdd выполнены неудачно +// |%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()))); +// КонецПопытки; + +// Попытка +// БиблиотечныеФичиПрошли = ПрогнатьФичи("features/lib", "bdd-lib.xml"); +// Исключение +// БиблиотечныеФичиПрошли = Ложь; +// Сообщить(СтрШаблон("Тесты поведения через 1bdd выполнены неудачно +// |%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()))); +// КонецПопытки; + +Сообщить(СтрШаблон("Результат прогона тестов <%1> +|", ТестыПрошли)); +// Сообщить(СтрШаблон("Результат прогона основных фич <%1> +// |", ФичиПрошли)); +// Сообщить(СтрШаблон("Результат прогона библиотечных фич <%1> +// |", БиблиотечныеФичиПрошли)); + +// Если НЕ ТестыПрошли Или НЕ ФичиПрошли Или НЕ БиблиотечныеФичиПрошли Тогда +Если НЕ ТестыПрошли Тогда + ВызватьИсключение "Тестирование завершилось неудачно!"; +КонецЕсли; From c0f6c27e5db8105744926d8fc1ab1e0d1f743adb Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 30 Apr 2019 18:08:09 +0300 Subject: [PATCH 5/6] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=20=D0=BF=D0=B0=D0=B4=D0=B5=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2=20=D0=B8=D0=B7-=D0=B7?= =?UTF-8?q?=D0=B0=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B=20opm=20build?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавлено логирование --- tests/package-check.os | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/package-check.os b/tests/package-check.os index d8a8dde..dae8fa3 100644 --- a/tests/package-check.os +++ b/tests/package-check.os @@ -35,6 +35,7 @@ Константы = ЗагрузитьСценарий("src\Модули\Константы_1testrunner.os"); ИмяСоздаваемогоПакета = СтрШаблон("%1-%2.ospx", ИмяПакета, Константы.ВерсияПродукта); ИмяВременногоКаталога = ВременныеФайлы.СоздатьКаталог(); + Лог.Отладка("ИмяВременногоКаталога %1", ИмяВременногоКаталога); СобратьПакетВКаталоге(ИмяВременногоКаталога); @@ -48,7 +49,7 @@ КонецПроцедуры Процедура СобратьПакетВКаталоге(Знач ИмяВременногоКаталога) - КодВозврата = ВыполнитьКоманду(СтрШаблон("call opm build %1 -out %2", ТекущийКаталог(), ИмяВременногоКаталога)); + КодВозврата = ВыполнитьКоманду(СтрШаблон("call opm build --out %2 %1", ТекущийКаталог(), ИмяВременногоКаталога)); Ожидаем.Что(КодВозврата, "СобратьПакетВКаталоге КодВозврата").Равно(0); КонецПроцедуры @@ -93,6 +94,8 @@ КонецПроцедуры Функция ВыполнитьКоманду(Знач СтрокаКоманды, ТекстВывода = "") + Лог.Отладка("СтрокаКоманды %1", СтрокаКоманды); + Команда = Новый Команда; Команда.УстановитьСтрокуЗапуска(СтрокаКоманды); @@ -100,7 +103,7 @@ КодВозврата = Команда.Исполнить(); ТекстВывода = Команда.ПолучитьВывод(); - Если КодВозврата <> 0 Тогда + Если КодВозврата <> 0 Или Лог.Уровень() = УровниЛога.Отладка Тогда Лог.Информация(ТекстВывода); КонецЕсли; Возврат КодВозврата; From b2f53528c71c9269aa13fdb6367291c6f23fa803 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 30 Apr 2019 18:17:09 +0300 Subject: [PATCH 6/6] =?UTF-8?q?=D0=A3=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BD=D0=BE=D0=BC=D0=B5=D1=80=20=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D1=81=D0=B8=D0=B8=201.7.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\201\321\202\320\260\320\275\321\202\321\213_1testrunner.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213_1testrunner.os" "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213_1testrunner.os" index 1c5994e..cac44d2 100644 --- "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213_1testrunner.os" +++ "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213_1testrunner.os" @@ -2,4 +2,4 @@ /////////////////////////////////////////////////////////////// -ВерсияПродукта = "1.6.0"; +ВерсияПродукта = "1.7.0";