package cgroup import ( "testing" ) func TestGetStatGenericSuccess(t *testing.T) { f := func(statName, sysfsPrefix, cgroupPath, cgroupGrepLine string, want int64) { t.Helper() got, err := getStatGeneric(statName, sysfsPrefix, cgroupPath, cgroupGrepLine) if err != nil { t.Fatalf("unexpected error: %s", err) } if got != want { t.Fatalf("unexpected result, got: %d, want %d", got, want) } } f("cpu.cfs_quota_us", "testdata/", "testdata/self/cgroup", "cpu,", -1) f("cpu.cfs_quota_us", "testdata/cgroup", "testdata/self/cgroup", "cpu,", 10) f("cpu.cfs_period_us", "testdata/", "testdata/self/cgroup", "cpu,", 100000) f("cpu.cfs_period_us", "testdata/cgroup", "testdata/self/cgroup", "cpu,", 500000) f("memory.limit_in_bytes", "testdata/", "testdata/self/cgroup", "memory", 9223372036854771712) f("memory.limit_in_bytes", "testdata/cgroup", "testdata/self/cgroup", "memory", 523372036854771712) f("memory.max", "testdata/cgroup", "testdata/self/cgroupv2", "", 523372036854771712) } func TestGetStatGenericFailure(t *testing.T) { f := func(statName, sysfsPrefix, cgroupPath, cgroupGrepLine string) { t.Helper() got, err := getStatGeneric(statName, sysfsPrefix, cgroupPath, cgroupGrepLine) if err == nil { t.Fatalf("expecting non-nil error") } if got != 0 { t.Fatalf("unexpected result, got: %d, want 0", got) } } f("cpu.cfs_quota_us", "testdata/", "testdata/missing_folder", "cpu,") f("cpu.cfs_period_us", "testdata/", "testdata/missing_folder", "cpu,") f("memory.limit_in_bytes", "testdata/", "testdata/none_existing_folder", "memory") f("memory.max", "testdata/", "testdata/none_existing_folder", "") }