//go:build linux package stats import "testing" func TestParseProcStatCPU(t *testing.T) { idle, total, ok := parseProcStatCPU("cpu 4705 0 1234 8123 45 0 12 0 0 0") if !ok { t.Fatal("expected ok") } if idle != 8123+45 { t.Fatalf("idle=%d", idle) } wantTotal := uint64(4705 + 0 + 1234 + 8123 + 45 + 0 + 12 + 0 + 0 + 0) if total != wantTotal { t.Fatalf("total=%d want %d", total, wantTotal) } } func TestParseProcStatCPUBadLine(t *testing.T) { if _, _, ok := parseProcStatCPU("meminfo"); ok { t.Fatal("expected false for non-cpu line") } } func TestSystemCPUPercentLinuxSecondSample(t *testing.T) { r := NewReporter() _ = r.SystemCPUPercent() // first sample seeds baseline pct := r.SystemCPUPercent() if pct < 0 || pct > 100 { t.Fatalf("cpu percent out of range: %v", pct) } }