Files
tia-love/internal/sysinfo/sysinfo_test.go
T

36 lines
995 B
Go

package sysinfo
import "testing"
func TestParse(t *testing.T) {
s := Stats{}
parseMeminfo("MemTotal: 32740916 kB\nMemFree: 9410408 kB\nMemAvailable: 25719724 kB\n", &s)
if s.MemTotal != 32740916 || s.MemAvail != 25719724 {
t.Fatalf("meminfo salah: %+v", s)
}
parseLoadavg("0.42 0.61 0.55 3/1812 123456\n", &s)
if s.Load1 != 0.42 {
t.Fatalf("loadavg salah: %v", s.Load1)
}
parseUptime("123456.78 9876.5\n", &s)
if s.Uptime != 123456.78 {
t.Fatalf("uptime salah: %v", s.Uptime)
}
// input rusak tidak boleh panic & tidak mengubah nilai valid
parseMeminfo("sampah\nMemTotal:\n", &s)
parseLoadavg("", &s)
if s.MemTotal != 32740916 {
t.Fatalf("nilai valid berubah setelah input rusak: %+v", s)
}
}
func TestReadLive(t *testing.T) {
s := Read()
if s.MemTotal == 0 {
t.Skip("bukan Linux / /proc tidak tersedia — dilewati")
}
t.Logf("total %d MB · avail %d MB · load %.2f · uptime %.0f dtk",
s.MemTotal/1024, s.MemAvail/1024, s.Load1, s.Uptime)
}