32 lines
754 B
Go
32 lines
754 B
Go
//go:build linux
|
|
|
|
package preflight
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
func TestRealDiskObservation(t *testing.T) {
|
|
dir := t.TempDir()
|
|
if diskAvailable(dir).State != "observed" {
|
|
t.Fatal("existing filesystem not observed")
|
|
}
|
|
if diskAvailable(filepath.Join(dir, "missing")).State != "unknown" {
|
|
t.Fatal("missing target reported capacity")
|
|
}
|
|
}
|
|
func TestDanglingResourceLinkRequiresReview(t *testing.T) {
|
|
dir := t.TempDir()
|
|
if err := os.MkdirAll(filepath.Join(dir, "var/lib"), 0700); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if err := os.Symlink("missing", filepath.Join(dir, "var/lib/docker")); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if resourceState(os.DirFS(dir), "var/lib/docker") != "present" {
|
|
t.Fatal("dangling link treated as absent")
|
|
}
|
|
}
|