github.com/zhuohuang-hust/src-cbuild@v0.0.0-20230105071821-c7aab3e7c840/mergeCode/runc/libcontainer/cgroups/fs/freezer_test.go (about) 1 // +build linux 2 3 package fs 4 5 import ( 6 "testing" 7 8 "github.com/opencontainers/runc/libcontainer/configs" 9 ) 10 11 func TestFreezerSetState(t *testing.T) { 12 helper := NewCgroupTestUtil("freezer", t) 13 defer helper.cleanup() 14 15 helper.writeFileContents(map[string]string{ 16 "freezer.state": string(configs.Frozen), 17 }) 18 19 helper.CgroupData.config.Resources.Freezer = configs.Thawed 20 freezer := &FreezerGroup{} 21 if err := freezer.Set(helper.CgroupPath, helper.CgroupData.config); err != nil { 22 t.Fatal(err) 23 } 24 25 value, err := getCgroupParamString(helper.CgroupPath, "freezer.state") 26 if err != nil { 27 t.Fatalf("Failed to parse freezer.state - %s", err) 28 } 29 if value != string(configs.Thawed) { 30 t.Fatal("Got the wrong value, set freezer.state failed.") 31 } 32 } 33 34 func TestFreezerSetInvalidState(t *testing.T) { 35 helper := NewCgroupTestUtil("freezer", t) 36 defer helper.cleanup() 37 38 const ( 39 invalidArg configs.FreezerState = "Invalid" 40 ) 41 42 helper.CgroupData.config.Resources.Freezer = invalidArg 43 freezer := &FreezerGroup{} 44 if err := freezer.Set(helper.CgroupPath, helper.CgroupData.config); err == nil { 45 t.Fatal("Failed to return invalid argument error") 46 } 47 }