From 5e4eb92a30cf7186f4fc55d636fece9e8a4d4431 Mon Sep 17 00:00:00 2001 From: Sergey Batanov Date: Sat, 9 May 2026 15:28:51 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=A3=D1=87=D1=82=D0=B5=D0=BD=D0=B0=20?= =?UTF-8?q?=D1=81=D1=80=D0=B5=D0=B4=D0=B0=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81?= =?UTF-8?q?=D0=BA=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 Тесты могут запускаться 1. без файла oscript.cfg - тогда тест не имеет смысла и его падение должно быть желтым, а не красным 2. с уже установленной переменной OSCRIPT_CONFIG - тогда переменную изначально надо очистить по завершении вернуть в исходное состояние. --- tests/config.os | 24 +++++++++++++++++------- tests/testrunner.os | 3 ++- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/tests/config.os b/tests/config.os index e3d33f62e..530e47aa4 100644 --- a/tests/config.os +++ b/tests/config.os @@ -14,6 +14,10 @@ КонецФункции Процедура ТестДолженПроверитьПорядокПрименения_ПеременнаяОкруженияИмеетВысшийПриоритет() Экспорт + + ИсходноеЗначениеПеременной = ПолучитьПеременнуюСреды("OSCRIPT_CONFIG"); + УстановитьПеременнуюСреды("OSCRIPT_CONFIG", ""); + ОбновитьНастройкиСистемы(); // Получаем исходное значение языка системы ИсходноеЗначениеЯзыка = ПолучитьЗначениеСистемнойНастройки("SystemLanguage"); @@ -39,12 +43,12 @@ "Переменная окружения OSCRIPT_CONFIG должна иметь наивысший приоритет"); Исключение - // Очищаем переменную окружения даже в случае ошибки - УстановитьПеременнуюСреды("OSCRIPT_CONFIG", ""); + // Возвращаем переменную окружения в исходное состояние + УстановитьПеременнуюСреды("OSCRIPT_CONFIG", ИсходноеЗначениеПеременной); ВызватьИсключение; КонецПопытки; - // Очищаем переменную окружения и возвращаем исходное состояние + // Очищаем переменную окружения УстановитьПеременнуюСреды("OSCRIPT_CONFIG", ""); ОбновитьНастройкиСистемы(); @@ -53,6 +57,10 @@ юТест.ПроверитьРавенство(ИсходноеЗначениеЯзыка, ВосстановленноеЗначение, "После очистки переменной окружения значение должно вернуться к исходному"); + // Возвращаем переменную окружения в исходное состояние + УстановитьПеременнуюСреды("OSCRIPT_CONFIG", ИсходноеЗначениеПеременной); + ОбновитьНастройкиСистемы(); + КонецПроцедуры Процедура ТестДолженПроверитьЧтениеЗначенияПоУмолчанию() Экспорт @@ -76,6 +84,8 @@ Процедура ТестДолженПроверитьПереопределениеНесколькихПараметровОдновременно() Экспорт + ИсходноеЗначениеПеременной = ПолучитьПеременнуюСреды("OSCRIPT_CONFIG"); + // Получаем исходные значения ИсходныйЯзык = ПолучитьЗначениеСистемнойНастройки("SystemLanguage"); ИсходнаяКодировка = ПолучитьЗначениеСистемнойНастройки("encoding.script"); @@ -107,13 +117,13 @@ "Кодировка должна измениться на " + НоваяКодировка); Исключение - // Очищаем переменную окружения даже в случае ошибки - УстановитьПеременнуюСреды("OSCRIPT_CONFIG", ""); + // Восстанавливаем переменную окружения даже в случае ошибки + УстановитьПеременнуюСреды("OSCRIPT_CONFIG", ИсходноеЗначениеПеременной); ВызватьИсключение; КонецПопытки; - // Очищаем переменную окружения - УстановитьПеременнуюСреды("OSCRIPT_CONFIG", ""); + // Восстанавливаем переменную окружения + УстановитьПеременнуюСреды("OSCRIPT_CONFIG", ИсходноеЗначениеПеременной); ОбновитьНастройкиСистемы(); // Проверяем, что значения вернулись (или стали Неопределено) diff --git a/tests/testrunner.os b/tests/testrunner.os index 6c413590b..7214f48e7 100644 --- a/tests/testrunner.os +++ b/tests/testrunner.os @@ -915,7 +915,8 @@ Функция ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, имяМетода) Результат = Ложь; - Если (Найти(текстОшибки, "Метод объекта не обнаружен (") > 0 + Если (Найти(текстОшибки, "Метод объекта не обнаружен (") > 0 + ИЛИ Найти(текстОшибки, "Method not found (") > 0 ИЛИ Найти(текстОшибки, "Object method not found (") > 0) И (Найти(текстОшибки, ИмяМетода) > 0) Тогда Результат = Истина; From 3113d1f15dea452d057361a71d9670f628b833c0 Mon Sep 17 00:00:00 2001 From: Sergey Batanov Date: Sat, 9 May 2026 16:19:22 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D0=B5=D0=BC=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA?= =?UTF-8?q?=D0=B8=20=D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC=D1=8B=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=20=D0=BF=D0=B0=D0=B4=D0=B5=D0=BD=D0=B8=D0=B8=20?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D0=B0=20config.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/config.os | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/config.os b/tests/config.os index 530e47aa4..99364e3cd 100644 --- a/tests/config.os +++ b/tests/config.os @@ -45,6 +45,7 @@ Исключение // Возвращаем переменную окружения в исходное состояние УстановитьПеременнуюСреды("OSCRIPT_CONFIG", ИсходноеЗначениеПеременной); + ОбновитьНастройкиСистемы(); ВызватьИсключение; КонецПопытки; @@ -119,6 +120,7 @@ Исключение // Восстанавливаем переменную окружения даже в случае ошибки УстановитьПеременнуюСреды("OSCRIPT_CONFIG", ИсходноеЗначениеПеременной); + ОбновитьНастройкиСистемы(); ВызватьИсключение; КонецПопытки;