Неожиданное время модификации созданного файла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

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