Skip to content

Commit a01d06b

Browse files
committed
- Добавил удаление файлов, созданных на очередной итерации синхронизации
- исправил неверную кодировку логов на Windows
1 parent 89d5578 commit a01d06b

File tree

4 files changed

+84
-13
lines changed

4 files changed

+84
-13
lines changed

features/cmd/step_definitions/shared.os

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
Перем БДД; //контекст фреймворка 1bdd
99

1010
Перем Лог;
11+
Перем ЭтоWindows;
12+
1113
// Метод выдает список шагов, реализованных в данном файле-шагов
1214
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
1315
БДД = КонтекстФреймворкаBDD;
@@ -221,15 +223,10 @@
221223

222224
Если НЕ ЭтоExe Тогда
223225

224-
Команда.УстановитьКоманду("oscript");
225-
Команда.ДобавитьПараметр("-encoding=utf-8");
226-
226+
УстановитьДвижок(Команда);
227227
Команда.ДобавитьПараметр(ОбернутьВКавычки(ПутьГитсинк));
228228
Иначе
229229

230-
СистемнаяИнформация = Новый СистемнаяИнформация;
231-
ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;
232-
233230
Если ЭтоWindows Тогда
234231
Команда.УстановитьКоманду(ПутьГитсинк); // Нельзя оборачивать в кавычки
235232
Иначе
@@ -370,7 +367,22 @@
370367
Возврат "Команда-" + ИмяКоманды;
371368
КонецФункции
372369

370+
Функция ЭтоWindows()
371+
Если ЭтоWindows = Неопределено Тогда
372+
СистемнаяИнформация = Новый СистемнаяИнформация;
373+
ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;
374+
КонецЕсли;
375+
Возврат ЭтоWindows;
376+
КонецФункции
373377

378+
Процедура УстановитьДвижок(Команда)
379+
Команда.УстановитьКоманду("oscript");
380+
Если Не ЭтоWindows() Тогда
381+
Команда.ДобавитьПараметр("-encoding=utf-8");
382+
КонецЕсли;
383+
КонецПроцедуры
374384

375-
376-
Лог = Логирование.ПолучитьЛог(ИмяЛога());
385+
Лог = Логирование.ПолучитьЛог(ИмяЛога());
386+
387+
СистемнаяИнформация = Новый СистемнаяИнформация;
388+
ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;

features/core/step_definitions/shared.os

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
Перем БДД; //контекст фреймворка 1bdd
99

1010
Перем Лог;
11+
Перем ЭтоWindows;
12+
1113
// Метод выдает список шагов, реализованных в данном файле-шагов
1214
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
1315
БДД = КонтекстФреймворкаBDD;
@@ -202,8 +204,7 @@
202204

203205
ПутьГитсинк = ОбъединитьПути(КаталогГитсинк(), "src", "cmd", "gitsync.os");
204206
Команда = БДД.ПолучитьИзКонтекста(КлючКоманды(ИмяКоманды));
205-
Команда.УстановитьКоманду("oscript");
206-
Команда.ДобавитьПараметр("-encoding=utf-8");
207+
УстановитьДвижок(Команда);
207208

208209
// МенеджерВременныхФайлов = Новый МенеджерВременныхФайлов;
209210
// МенеджерВременныхФайлов.БазовыйКаталог = ОбъединитьПути(КаталогГитсинк(), "coverage");
@@ -343,7 +344,20 @@
343344
Возврат "Команда-" + ИмяКоманды;
344345
КонецФункции
345346

347+
Функция ЭтоWindows()
348+
Если ЭтоWindows = Неопределено Тогда
349+
СистемнаяИнформация = Новый СистемнаяИнформация;
350+
ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;
351+
КонецЕсли;
352+
Возврат ЭтоWindows;
353+
КонецФункции
346354

355+
Процедура УстановитьДвижок(Команда)
356+
Команда.УстановитьКоманду("oscript");
357+
Если Не ЭтоWindows() Тогда
358+
Команда.ДобавитьПараметр("-encoding=utf-8");
359+
КонецЕсли;
360+
КонецПроцедуры
347361

348362
Лог = Логирование.ПолучитьЛог(ИмяЛога());
349363
//Лог.УстановитьУровень(Логирование.ПолучитьЛог("bdd").Уровень());

src/core/Классы/МенеджерСинхронизации.os

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,8 @@
300300
СтрокаВерсии = ТаблицаИсторииХранилища.Найти(СледующаяВерсия, "НомерВерсии");
301301
Если СтрокаВерсии <> Неопределено Тогда
302302

303+
ВременныеФайлыДо = ВременныеФайлы.Файлы();
304+
303305
ОбработчикПодписок.ПередОбработкойВерсииХранилища(СтрокаВерсии, СледующаяВерсия);
304306

305307
Попытка
@@ -319,12 +321,16 @@
319321
Исключение
320322
Лог.Отладка("Откатываем файл VERSION после ошибки");
321323
ЗаписатьФайлВерсийГит(КаталогРабочейКопии, ТекущаяВерсия);
324+
325+
УдалитьНакопленныеВременныеФайлы(ВременныеФайлыДо);
326+
322327
ВызватьИсключение;
323328
КонецПопытки;
324329

325330
ТекущаяВерсия = СледующаяВерсия;
326331
ОбработчикПодписок.ПослеОбработкиВерсииХранилища(СтрокаВерсии, ТекущаяВерсия);
327-
332+
333+
УдалитьНакопленныеВременныеФайлы(ВременныеФайлыДо);
328334
КонецЕсли;
329335

330336
СледующаяВерсия = СледующаяВерсия + 1;
@@ -1506,6 +1512,31 @@
15061512

15071513
КонецПроцедуры
15081514

1515+
Процедура УдалитьНакопленныеВременныеФайлы(Знач ВременныеФайлыДо)
1516+
ВременныеФайлыПосле = ВременныеФайлы.Файлы();
1517+
1518+
ОтборФайлов = Новый Соответствие;
1519+
СкопироватьКоллекцию(ВременныеФайлыДо, ОтборФайлов);
1520+
1521+
КрайнийИндекс = ВременныеФайлыПосле.Количество()-1;
1522+
Для Сч = 0 По КрайнийИндекс Цикл
1523+
1524+
Индекс = КрайнийИндекс-Сч;
1525+
ИмяВременногоФайла = ВременныеФайлыПосле[Индекс];
1526+
Если ОтборФайлов.Получить(ИмяВременногоФайла) = Неопределено
1527+
И ВременныеФайлы.БезопасноУдалитьФайл(ИмяВременногоФайла) Тогда
1528+
ВременныеФайлыПосле.Удалить(Индекс);
1529+
КонецЕсли;
1530+
1531+
КонецЦикла;
1532+
1533+
КонецПроцедуры
1534+
1535+
Процедура СкопироватьКоллекцию(Массив, Приемник)
1536+
Для каждого Значение Из Массив Цикл
1537+
Приемник.Вставить(Значение, Значение);
1538+
КонецЦикла;
1539+
КонецПроцедуры
15091540
Процедура УстановитьОбработчикПодписок(НовыйИндексПодписчиков)
15101541

15111542
ОбработчикПодписок.УстановитьПодписчиков(НовыйИндексПодписчиков);

tasks/coverage.os

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,26 @@
22
#Использовать coverage
33
#Использовать 1commands
44

5+
Функция ЭтоWindows()
6+
Если ЭтоWindows = Неопределено Тогда
7+
СистемнаяИнформация = Новый СистемнаяИнформация;
8+
ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;
9+
КонецЕсли;
10+
Возврат ЭтоWindows;
11+
КонецФункции
12+
13+
Процедура УстановитьДвижок(Команда)
14+
Команда.УстановитьКоманду("oscript");
15+
Если Не ЭтоWindows() Тогда
16+
Команда.ДобавитьПараметр("-encoding=utf-8");
17+
КонецЕсли;
18+
КонецПроцедуры
19+
520
ФС.ОбеспечитьПустойКаталог("coverage");
621
ПутьКСтат = "coverage/stat.json";
722

823
Команда = Новый Команда;
9-
Команда.УстановитьКоманду("oscript");
10-
Команда.ДобавитьПараметр("-encoding=utf-8");
24+
УстановитьДвижок(Команда);
1125
Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат));
1226
Команда.ДобавитьПараметр("tasks/test.os");
1327
Команда.ПоказыватьВыводНемедленно(Истина);

0 commit comments

Comments
 (0)