Download this file
| 1 | package rootstate |
| 2 | |
| 3 | import "testing" |
| 4 | |
| 5 | func TestPlan14PersistentNamespaceRecreation(t *testing.T) { |
| 6 | 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} |
| 7 | after := before |
| 8 | after.Mount = 385 |
| 9 | if !before.Same(after) { |
| 10 | t.Fatal("same persistent object after namespace recreation refused") |
| 11 | } |
| 12 | for _, field := range []string{"device", "filesystem", "handle", "inode", "owner", "group", "mode", "root", "point", "unknown"} { |
| 13 | bad := after |
| 14 | switch field { |
| 15 | case "device": |
| 16 | bad.Device++ |
| 17 | case "filesystem": |
| 18 | bad.Filesystem = "other" |
| 19 | case "handle": |
| 20 | bad.Handle = "other" |
| 21 | case "inode": |
| 22 | bad.Inode++ |
| 23 | case "owner": |
| 24 | bad.UID++ |
| 25 | case "group": |
| 26 | bad.GID++ |
| 27 | case "mode": |
| 28 | bad.Mode++ |
| 29 | case "root": |
| 30 | bad.MountRoot = "/other" |
| 31 | case "point": |
| 32 | bad.MountPoint = "/other" |
| 33 | case "unknown": |
| 34 | bad.Handle = "" |
| 35 | } |
| 36 | if before.Same(bad) { |
| 37 | t.Fatal("substitution accepted", field) |
| 38 | } |
| 39 | } |
| 40 | } |
| 41 | |