mirror of
https://github.com/containers/podman.git
synced 2025-08-24 01:50:58 +08:00

Fix new issues found by usetesting, mainly we should use t.TempDir() in test which makes the code better as this will be removed on test end automatically so no need for defer or any error checking. Also fix issues reported by exptostd, these mainly show where we can switch the imports to the std maps/slices packages instead of the golang.org/x/exp/... packages. Signed-off-by: Paul Holzinger <pholzing@redhat.com>
62 lines
1.2 KiB
Go
62 lines
1.2 KiB
Go
package ctime
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestCreated(t *testing.T) {
|
|
before := time.Now()
|
|
|
|
tmpDir := t.TempDir()
|
|
fileA, err := os.CreateTemp(tmpDir, "ctime-test-")
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
fileB, err := os.CreateTemp(tmpDir, "ctime-test-")
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
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)
|
|
}
|
|
}
|