Skip to content

Commit 5e4eb92

Browse files
committed
Учтена среда запуска тестов.
Тесты могут запускаться 1. без файла oscript.cfg - тогда тест не имеет смысла и его падение должно быть желтым, а не красным 2. с уже установленной переменной OSCRIPT_CONFIG - тогда переменную изначально надо очистить по завершении вернуть в исходное состояние.
1 parent c455964 commit 5e4eb92

2 files changed

Lines changed: 19 additions & 8 deletions

File tree

tests/config.os

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
КонецФункции
1515

1616
Процедура ТестДолженПроверитьПорядокПрименения_ПеременнаяОкруженияИмеетВысшийПриоритет() Экспорт
17+
18+
ИсходноеЗначениеПеременной = ПолучитьПеременнуюСреды("OSCRIPT_CONFIG");
19+
УстановитьПеременнуюСреды("OSCRIPT_CONFIG", "");
20+
ОбновитьНастройкиСистемы();
1721

1822
// Получаем исходное значение языка системы
1923
ИсходноеЗначениеЯзыка = ПолучитьЗначениеСистемнойНастройки("SystemLanguage");
@@ -39,12 +43,12 @@
3943
"Переменная окружения OSCRIPT_CONFIG должна иметь наивысший приоритет");
4044

4145
Исключение
42-
// Очищаем переменную окружения даже в случае ошибки
43-
УстановитьПеременнуюСреды("OSCRIPT_CONFIG", "");
46+
// Возвращаем переменную окружения в исходное состояние
47+
УстановитьПеременнуюСреды("OSCRIPT_CONFIG", ИсходноеЗначениеПеременной);
4448
ВызватьИсключение;
4549
КонецПопытки;
4650

47-
// Очищаем переменную окружения и возвращаем исходное состояние
51+
// Очищаем переменную окружения
4852
УстановитьПеременнуюСреды("OSCRIPT_CONFIG", "");
4953
ОбновитьНастройкиСистемы();
5054

@@ -53,6 +57,10 @@
5357
юТест.ПроверитьРавенство(ИсходноеЗначениеЯзыка, ВосстановленноеЗначение,
5458
"После очистки переменной окружения значение должно вернуться к исходному");
5559

60+
// Возвращаем переменную окружения в исходное состояние
61+
УстановитьПеременнуюСреды("OSCRIPT_CONFIG", ИсходноеЗначениеПеременной);
62+
ОбновитьНастройкиСистемы();
63+
5664
КонецПроцедуры
5765

5866
Процедура ТестДолженПроверитьЧтениеЗначенияПоУмолчанию() Экспорт
@@ -76,6 +84,8 @@
7684

7785
Процедура ТестДолженПроверитьПереопределениеНесколькихПараметровОдновременно() Экспорт
7886

87+
ИсходноеЗначениеПеременной = ПолучитьПеременнуюСреды("OSCRIPT_CONFIG");
88+
7989
// Получаем исходные значения
8090
ИсходныйЯзык = ПолучитьЗначениеСистемнойНастройки("SystemLanguage");
8191
ИсходнаяКодировка = ПолучитьЗначениеСистемнойНастройки("encoding.script");
@@ -107,13 +117,13 @@
107117
"Кодировка должна измениться на " + НоваяКодировка);
108118

109119
Исключение
110-
// Очищаем переменную окружения даже в случае ошибки
111-
УстановитьПеременнуюСреды("OSCRIPT_CONFIG", "");
120+
// Восстанавливаем переменную окружения даже в случае ошибки
121+
УстановитьПеременнуюСреды("OSCRIPT_CONFIG", ИсходноеЗначениеПеременной);
112122
ВызватьИсключение;
113123
КонецПопытки;
114124

115-
// Очищаем переменную окружения
116-
УстановитьПеременнуюСреды("OSCRIPT_CONFIG", "");
125+
// Восстанавливаем переменную окружения
126+
УстановитьПеременнуюСреды("OSCRIPT_CONFIG", ИсходноеЗначениеПеременной);
117127
ОбновитьНастройкиСистемы();
118128

119129
// Проверяем, что значения вернулись (или стали Неопределено)

tests/testrunner.os

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -915,7 +915,8 @@
915915

916916
Функция ЕстьОшибка_МетодОбъектаНеОбнаружен(текстОшибки, имяМетода)
917917
Результат = Ложь;
918-
Если (Найти(текстОшибки, "Метод объекта не обнаружен (") > 0
918+
Если (Найти(текстОшибки, "Метод объекта не обнаружен (") > 0
919+
ИЛИ Найти(текстОшибки, "Method not found (") > 0
919920
ИЛИ Найти(текстОшибки, "Object method not found (") > 0)
920921
И (Найти(текстОшибки, ИмяМетода) > 0) Тогда
921922
Результат = Истина;

0 commit comments

Comments
 (0)