//go:build linux package host import ( "github.com/carlosframework/platform/internal/instancectl" "os" "path/filepath" "testing" ) func TestPlan11NoProcessChecksEveryIsolatedRole(t *testing.T) { for _, role := range []string{"run", "seed", "sidecar"} { t.Run(role, func(t *testing.T) { f := newWritersKernelFixture(t) f.dropAgentHolds(t) group := filepath.Join(f.cgroupRoot, "carlos.slice", "carlos-instances.slice", instancectl.SliceName(f.target.Host)) if err := os.MkdirAll(filepath.Join(group, role+".service"), 0700); err != nil { t.Fatal(err) } if err := os.WriteFile(filepath.Join(group, "cgroup.events"), []byte("populated 0\n"), 0600); err != nil { t.Fatal(err) } if err := os.WriteFile(filepath.Join(group, role+".service", "cgroup.events"), []byte("populated 1\n"), 0600); err != nil { t.Fatal(err) } if _, err := f.noProcess(t, false); err == nil { t.Fatal("live isolated role passed the session-zero witness") } }) } }