Неожиданное время модификации созданного файлаLinux

Ответить
Anonymous
 Неожиданное время модификации созданного файла

Сообщение Anonymous »

Я пишу модульный тест компонента, который создает файл, в частности, случай, когда он не устанавливает время изменения файла (). То есть, я подтверждаю, что mtime находится в диапазоне времени, от до того, как файл был создан до завершения создания.

Код: Выделить всё

package main

import (
"fmt"
"os"
"testing"
"time"
)

func Test(t *testing.T) {
before := time.Now()

f, err := os.CreateTemp("", "")
if err != nil {
t.Fatal(err)
}
t.Cleanup(func() {
if err := os.Remove(f.Name()); err != nil {
t.Fatal(err)
}
})
err = f.Close()
if err != nil {
t.Fatal(err)
}
info, err := os.Lstat(f.Name())
if err != nil {
t.Fatal(err)
}
mtime := info.ModTime()
if mtime.Before(before) {
t.Fatalf("file modification time %s is before %s where we started crating it!\n", mtime.Format("15:04:05.000"), before.Format("15:04:05.000"))
}
}
https://www.go-sandbox.org/snippets/pq9 ... mx/образно /> Вопросы:

Почему mtime постоянно раньше, чем программа до времени? Be? Это довольно неудовлетворительно, и у меня нет возможности узнать, будет ли этого навсегда.

Подробнее здесь: https://stackoverflow.com/questions/795 ... eated-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»