From 338488842cdbde141b87872abbf37665ed747862 Mon Sep 17 00:00:00 2001 From: sfaqer Date: Fri, 25 Sep 2026 16:47:21 +1000 Subject: [PATCH] =?UTF-8?q?=D0=A2=D0=B5=D1=81=D1=82=20=D0=B4=D0=B0=D1=82?= =?UTF-8?q?=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D1=8F=D0=B5=D1=82=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80?= =?UTF-8?q?=D0=B2=D0=B0=D0=BB=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ТестДолжен_ПроверитьПолучениеДатСозданияИИзменения сравнивал время файла с моментом до записи с допуском 2 секунды и падал на медленном агенте CI, где запись занимала 3 секунды. Теперь время создания и изменения должно попасть в интервал между моментами до и после записи. Co-Authored-By: Claude Opus 5.5 (1M context) --- tests/file-object.os | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/tests/file-object.os b/tests/file-object.os index 18d9d48be..b46a613ea 100644 --- a/tests/file-object.os +++ b/tests/file-object.os @@ -279,35 +279,44 @@ Возврат Дата(Формат(Дата, "ДФ=ггггММддЧЧммсс")); КонецФункции +// Время файла должно попасть в интервал записи. Сравнивать с моментом до записи с допуском нельзя: +// на медленной машине CI запись файла занимает секунды. Запас в секунду - на округление до секунд +// и на шаг времени в 2 секунды у FAT32 +Процедура ПроверитьДатуВИнтервале(Знач Дата, Знач Начало, Знач Конец, Знач ЧтоПроверяем) + Дата = ДатаСТочностьюДоСекунды(Дата); + юТест.ПроверитьБольшеИлиРавно(Дата, ДатаСТочностьюДоСекунды(Начало) - 1, ЧтоПроверяем + " раньше записи"); + юТест.ПроверитьМеньшеИлиРавно(Дата, ДатаСТочностьюДоСекунды(Конец) + 1, ЧтоПроверяем + " позже записи"); +КонецПроцедуры + Процедура ТестДолжен_ПроверитьПолучениеДатСозданияИИзменения() Экспорт - ТекущаяДата = ТекущаяДата(); ВремФайл = ПолучитьИмяВременногоФайла("os"); Если Не ФайловаяСистемаПоддерживаетВремяСоздания(ВремФайл) Тогда Возврат; КонецЕсли; + ДоЗаписи = ТекущаяДата(); ЗаписьТекста = Новый ЗаписьТекста(ВремФайл); ЗаписьТекста.ЗаписатьСтроку("---"); ЗаписьТекста.Закрыть(); + ПослеЗаписи = ТекущаяДата(); Файл = Новый Файл(ВремФайл); ВремяСоздания = Файл.ПолучитьВремяСоздания(); - юТест.ПроверитьРавенствоДатСТочностью2Секунды( - ДатаСТочностьюДоСекунды(ТекущаяДата), ДатаСТочностьюДоСекунды(ВремяСоздания)); + ПроверитьДатуВИнтервале(ВремяСоздания, ДоЗаписи, ПослеЗаписи, "Время создания"); Приостановить(3000); - ТекущаяДата = ТекущаяДата(); + ДоЗаписи = ТекущаяДата(); ЗаписьТекста.Открыть(ВремФайл); ЗаписьТекста.ЗаписатьСтроку("---"); ЗаписьТекста.Закрыть(); + ПослеЗаписи = ТекущаяДата(); Файл = Новый Файл(ВремФайл); ВремяСоздания = Файл.ПолучитьВремяСоздания(); ВремяИзменения = Файл.ПолучитьВремяИзменения(); - юТест.ПроверитьРавенствоДатСТочностью2Секунды( - ДатаСТочностьюДоСекунды(ТекущаяДата), ДатаСТочностьюДоСекунды(ВремяИзменения)); + ПроверитьДатуВИнтервале(ВремяИзменения, ДоЗаписи, ПослеЗаписи, "Время изменения"); юТест.ПроверитьМеньше(ВремяСоздания, ВремяИзменения); УдалитьФайлы(ВремФайл);