package rootstate import "testing" func TestPlan14PersistentNamespaceRecreation(t *testing.T) { before := FileIdentity{Device: 66305, Inode: 655373, Boot: "same-boot", Filesystem: "ext4:volume", Handle: "directory-handle", HandleType: 1, Mount: 384, MountRoot: "/data/.instances", MountPoint: "/data/instances", MountNamespace: "mnt:[4026532470]", UID: 999, GID: 989, Mode: 0040700} after := before after.Mount = 385 if !before.Same(after) { t.Fatal("same persistent object after namespace recreation refused") } for _, field := range []string{"device", "filesystem", "handle", "inode", "owner", "group", "mode", "root", "point", "unknown"} { bad := after switch field { case "device": bad.Device++ case "filesystem": bad.Filesystem = "other" case "handle": bad.Handle = "other" case "inode": bad.Inode++ case "owner": bad.UID++ case "group": bad.GID++ case "mode": bad.Mode++ case "root": bad.MountRoot = "/other" case "point": bad.MountPoint = "/other" case "unknown": bad.Handle = "" } if before.Same(bad) { t.Fatal("substitution accepted", field) } } }