Files
podman/pkg/ctime/ctime_test.go
Chris Evich d968f3fe09 Replace deprecated ioutil
Package `io/ioutil` was deprecated in golang 1.16, preventing podman from
building under Fedora 37.  Fortunately, functionality identical
replacements are provided by the packages `io` and `os`.  Replace all
usage of all `io/ioutil` symbols with appropriate substitutions
according to the golang docs.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-09-20 15:34:27 -04:00

63 lines
1.2 KiB
Go

package ctime
import (
"os"
"testing"
"time"
)
func TestCreated(t *testing.T) {
before := time.Now()
fileA, err := os.CreateTemp("", "ctime-test-")
if err != nil {
t.Error(err)
}
defer os.Remove(fileA.Name())
fileB, err := os.CreateTemp("", "ctime-test-")
if err != nil {
t.Error(err)
}
defer os.Remove(fileB.Name())
after := time.Now()
infoA, err := fileA.Stat()
if err != nil {
t.Error(err)
}
err = fileA.Close()
if err != nil {
t.Error(err)
}
infoB, err := fileB.Stat()
if err != nil {
t.Error(err)
}
err = fileB.Close()
if err != nil {
t.Error(err)
}
createdA := Created(infoA)
beforeToCreateA := createdA.Sub(before)
if beforeToCreateA.Nanoseconds() < -1000000000 {
t.Errorf("created file A %s is %v nanoseconds before %s", createdA, -beforeToCreateA.Nanoseconds(), before)
}
createdB := Created(infoB)
createAToCreateB := createdB.Sub(createdA)
if createAToCreateB.Nanoseconds() < 0 {
t.Errorf("created file B %s is %v nanoseconds before file A %s", createdB, -createAToCreateB.Nanoseconds(), createdA)
}
createBToAfter := after.Sub(createdB)
if createBToAfter.Nanoseconds() < 0 {
t.Errorf("created file B %s is %v nanoseconds after %s", createdB, -createBToAfter.Nanoseconds(), after)
}
}