mirror of
https://github.com/henrygd/beszel.git
synced 2026-09-30 19:56:21 +00:00
29 lines
709 B
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{}))
|
|
}
|