diff --git a/cmd/limactl-menu/main.go b/cmd/limactl-menu/main.go index 33ac9f2a..dcbf51db 100644 --- a/cmd/limactl-menu/main.go +++ b/cmd/limactl-menu/main.go @@ -12,6 +12,7 @@ import ( "slices" "strings" + "github.com/docker/go-units" "github.com/gdamore/tcell/v2" "github.com/rivo/tview" "github.com/sirupsen/logrus" @@ -141,8 +142,7 @@ func fmtInst(in *limatype.Instance) string { name = name[:13] + "..." } - mem := float64(in.Memory) / 1e9 - cpusMem := fmt.Sprintf("%dCPU/%.1fGB", in.CPUs, mem) + cpusMem := fmt.Sprintf("%dCPU/%s", in.CPUs, units.BytesSize(float64(in.Memory))) sshAddr := fmt.Sprintf("%s:%d", in.SSHAddress, in.SSHLocalPort) if in.SSHAddress == "" || in.SSHLocalPort == 0 { diff --git a/cmd/limactl-menu/main_test.go b/cmd/limactl-menu/main_test.go new file mode 100644 index 00000000..a7cb5d9f --- /dev/null +++ b/cmd/limactl-menu/main_test.go @@ -0,0 +1,21 @@ +// SPDX-FileCopyrightText: Copyright The Lima Authors +// SPDX-License-Identifier: Apache-2.0 + +package main + +import ( + "strings" + "testing" + + "gotest.tools/v3/assert" + + "github.com/lima-vm/lima/v2/pkg/limatype" +) + +func TestFmtInstUsesBinaryMemoryUnits(t *testing.T) { + inst := &limatype.Instance{ + Name: "default", Status: limatype.StatusRunning, CPUs: 4, Memory: 4 << 30, + } + formatted := fmtInst(inst) + assert.Assert(t, strings.Contains(formatted, "4CPU/4GiB"), formatted) +}