carlos / platform Public

Clone
git clone https://amadan.net/carlos/platform

Plain git — no account needed to clone.

Download

Download this file

1package rootstate
2
3import "testing"
4
5func 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