blob: bf902737fc80e24baface42f6f02b70e906ed538 [file] [log] [blame]
// Copyright 2020 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package memory
import (
"runtime"
"testing"
)
func TestRead(t *testing.T) {
if runtime.GOOS == "darwin" {
t.Skip("darwin has no /proc/meminfo")
}
_, err := ReadSystemStats()
if err != nil {
t.Fatal(err)
}
_, err = ReadProcessStats()
if err != nil {
t.Fatal(err)
}
// We can't really test ReadCgroupStats, because we may or may not be in a cgroup.
}
func TestFormat(t *testing.T) {
for _, test := range []struct {
m uint64
want string
}{
{0, "0 B"},
{1022, "1022 B"},
{2500, "2.44 K"},
{4096, "4.00 K"},
{2_000_000, "1.91 M"},
{18_000_000_000, "16.76 G"},
} {
got := Format(test.m)
if got != test.want {
t.Errorf("%d: got %q, want %q", test.m, got, test.want)
}
}
}