Skip to content

Commit 862b6ad

Browse files
committed
Изменено определение исполняющего файла
1 parent 5d0f8fe commit 862b6ad

File tree

3 files changed

+66
-29
lines changed

3 files changed

+66
-29
lines changed

src/BenchmarkOneScript/core/Классы/ЗапускательБенчмарков.os

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -242,25 +242,17 @@
242242

243243
Функция ИмяФайлаИсполняющейСреды(Версия)
244244

245-
КаталогOVM = ПолучитьПеременнуюСреды("OVM_INSTALL_PATH");
246-
Если НЕ ЗначениеЗаполнено(КаталогOVM) Тогда
247-
СистемнаяИнформация = Новый СистемнаяИнформация();
248-
КаталогOVM = ОбъединитьПути(
249-
СистемнаяИнформация.ПолучитьПутьПапки(СпециальнаяПапка.ЛокальныйКаталогДанныхПриложений),
250-
"ovm"
251-
);
252-
КонецЕсли;
253-
254-
Если Не ФС.КаталогСуществует(КаталогOVM) Тогда
245+
КаталогУстановки = ИсполняющаяСредаБенчмарков.КаталогУстановки();
246+
Если КаталогУстановки = Неопределено Тогда
255247
ВызватьИсключение СтрШаблон("Не найден каталог с установленными версиями OneScript.
256248
|Необходимо установить OneScript версии %1 через OVM", Версия);
257249
КонецЕсли;
258250

259-
_Лог.Отладка(СтрШаблон("Каталог с установленными версиями OneScript: %1", КаталогOVM));
251+
_Лог.Отладка(СтрШаблон("Каталог с установленными версиями OneScript: %1", КаталогУстановки));
260252

261-
ИмяФайла = ОбъединитьПути(КаталогOVM, Версия, "bin", "oscript.exe");
253+
ИмяФайла = ИсполняющаяСредаБенчмарков.НайтиИсполняемыйФайл(Версия);
262254

263-
Если Не ФС.ФайлСуществует(ИмяФайла) Тогда
255+
Если ИмяФайла = Неопределено Тогда
264256
ВызватьИсключение СтрШаблон("Не найден OneScript версии %1 в каталоге OVM", Версия);
265257
КонецЕсли;
266258

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#Использовать fs
2+
3+
Функция НайтиИсполняемыйФайл(Версия) Экспорт
4+
5+
КаталогУстановки = КаталогУстановки();
6+
Если Не ЗначениеЗаполнено(КаталогУстановки) Тогда
7+
Возврат Неопределено;
8+
КонецЕсли;
9+
10+
КаталогBin = ОбъединитьПути(КаталогУстановки, Версия, "bin");
11+
12+
Если ЭтоWindows() Тогда
13+
ИмяФайла = ОбъединитьПути(КаталогBin, "oscript.exe");
14+
Иначе
15+
ИмяФайла = ОбъединитьПути(КаталогBin, "oscript");
16+
КонецЕсли;
17+
18+
Если ФС.ФайлСуществует(ИмяФайла) Тогда
19+
Возврат ИмяФайла;
20+
КонецЕсли;
21+
22+
КонецФункции
23+
24+
Функция КаталогУстановки() Экспорт
25+
26+
КаталогOVM = ПолучитьПеременнуюСреды("OVM_INSTALL_PATH");
27+
Если Не ЗначениеЗаполнено(КаталогOVM) Тогда
28+
СистемнаяИнформация = Новый СистемнаяИнформация();
29+
КаталогOVM = ОбъединитьПути(
30+
СистемнаяИнформация.ПолучитьПутьПапки(СпециальнаяПапка.ЛокальныйКаталогДанныхПриложений),
31+
"ovm"
32+
);
33+
КонецЕсли;
34+
35+
Если ФС.КаталогСуществует(КаталогOVM) Тогда
36+
Возврат КаталогOVM;
37+
КонецЕсли;
38+
39+
КонецФункции
40+
41+
Функция ЭтоWindows()
42+
43+
СистемнаяИнформация = Новый СистемнаяИнформация();
44+
ТекущаяПлатформа = СистемнаяИнформация.ТипПлатформы;
45+
46+
Возврат ТекущаяПлатформа = ТипПлатформы.Windows_x86_64
47+
Или ТекущаяПлатформа = ТипПлатформы.Windows_x86;
48+
49+
КонецФункции

tests/helpers/Модули/ТестированиеБенчмарков.os

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -82,41 +82,37 @@
8282

8383
Процедура ПроверитьУстановитьВерсииИсполняющейСреды(Версии)
8484

85-
КаталогOVM = ПолучитьПеременнуюСреды("OVM_INSTALL_PATH");
86-
Если НЕ ЗначениеЗаполнено(КаталогOVM) Тогда
87-
СистемнаяИнформация = Новый СистемнаяИнформация();
88-
КаталогOVM = ОбъединитьПути(
89-
СистемнаяИнформация.ПолучитьПутьПапки(СпециальнаяПапка.ЛокальныйКаталогДанныхПриложений),
90-
"ovm"
91-
);
92-
КонецЕсли;
93-
94-
Если Не ФС.КаталогСуществует(КаталогOVM) Тогда
85+
КаталогУстановки = ИсполняющаяСредаБенчмарков.КаталогУстановки();
86+
Если КаталогУстановки = Неопределено Тогда
9587
ВызватьИсключение "Не найден каталог с установленными версиями OneScript";
9688
КонецЕсли;
9789

98-
_Лог.Отладка(СтрШаблон("Каталог с установленными версиями OneScript: %1", КаталогOVM));
90+
_Лог.Отладка(СтрШаблон("Каталог с установленными версиями OneScript: %1", КаталогУстановки));
9991
_Лог.Отладка(СтрШаблон("Проверка установленных версий: %1", Версии));
10092

10193
Для Каждого Версия Из СтрРазделить(Версии, ", ") Цикл
102-
ИмяФайла = ОбъединитьПути(КаталогOVM, Версия, "bin", "oscript.exe");
103-
Если ФС.ФайлСуществует(ИмяФайла) Тогда
94+
95+
ИмяФайла = ИсполняющаяСредаБенчмарков.НайтиИсполняемыйФайл(Версия);
96+
Если Не ИмяФайла = Неопределено Тогда
10497
_Лог.Отладка(СтрШаблон("Обнаружена %1 версия OneScript: %2", Версия, ИмяФайла));
10598
Продолжить;
10699
КонецЕсли;
107100

108101
Команда = Новый Команда();
109-
Команда.УстановитьИсполнениеЧерезКомандыСистемы(Ложь);
110-
Команда.ПоказыватьВыводНемедленно(Истина);
111102
Команда.УстановитьКоманду("ovm");
112103
Команда.ДобавитьПараметр("install");
113104
Команда.ДобавитьПараметр(Версия);
114105

115106
КодВозврата = Команда.Исполнить();
116-
Если КодВозврата <> 0 Или Не ФС.ФайлСуществует(ИмяФайла) Тогда
107+
Если КодВозврата <> 0 Тогда
117108
ВызватьИсключение СтрШаблон("Не удалось установить OneScript версии %1 через OVM", Версия);
118109
КонецЕсли;
119110

111+
ИмяФайла = ИсполняющаяСредаБенчмарков.НайтиИсполняемыйФайл(Версия);
112+
Если ИмяФайла = Неопределено Тогда
113+
ВызватьИсключение СтрШаблон("После установки OneScript версии %1 не удалось найти исполняемый файл", Версия);
114+
КонецЕсли;
115+
120116
_Лог.Отладка(СтрШаблон("Установлена %1 версия OneScript: %2", Версия, ИмяФайла));
121117

122118
КонецЦикла;

0 commit comments

Comments
 (0)