Files
beszel-ipv6/agent/cpu_test.go

29 lines
709 B
Go

//go:build testing
package agent
import (
"runtime"
"testing"
"github.com/shirou/gopsutil/v4/cpu"
"github.com/stretchr/testify/assert"
)
func TestGetAllBusy(t *testing.T) {
times := cpu.TimesStat{
User: 1, System: 2, Idle: 3, Nice: 4, Iowait: 5,
Irq: 6, Softirq: 7, Steal: 8, Guest: 9, GuestNice: 10,
}
wantTotal, wantBusy := 55.0, 47.0
if runtime.GOOS == "linux" {
wantTotal, wantBusy = 36, 28
}
total, busy := getAllBusy(times)
assert.Equal(t, wantTotal, total)
assert.Equal(t, wantBusy, busy)
assert.InDelta(t, wantBusy/wantTotal*100, calculateBusy(cpu.TimesStat{}, times), 1e-10)
assert.Zero(t, calculateBusy(times, times))
assert.Zero(t, calculateBusy(times, cpu.TimesStat{}))
}