You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gopsutil/host/host_linux_test.go

85 lines
2.4 KiB
Go

// SPDX-License-Identifier: BSD-3-Clause
//go:build linux
package host
import (
"context"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/shirou/gopsutil/v4/common"
)
func TestGetRedhatishVersion(t *testing.T) {
var ret string
c := []string{"Rawhide"}
ret = getRedhatishVersion(c)
assert.Equalf(t, "rawhide", ret, "Could not get version rawhide: %v", ret)
c = []string{"Fedora release 15 (Lovelock)"}
ret = getRedhatishVersion(c)
assert.Equalf(t, "15", ret, "Could not get version fedora: %v", ret)
c = []string{"Enterprise Linux Server release 5.5 (Carthage)"}
ret = getRedhatishVersion(c)
assert.Equalf(t, "5.5", ret, "Could not get version redhat enterprise: %v", ret)
c = []string{""}
ret = getRedhatishVersion(c)
assert.Emptyf(t, ret, "Could not get version with no value: %v", ret)
}
func TestGetRedhatishPlatform(t *testing.T) {
var ret string
c := []string{"red hat"}
ret = getRedhatishPlatform(c)
assert.Equalf(t, "redhat", ret, "Could not get platform redhat: %v", ret)
c = []string{"Fedora release 15 (Lovelock)"}
ret = getRedhatishPlatform(c)
assert.Equalf(t, "fedora", ret, "Could not get platform fedora: %v", ret)
c = []string{"Enterprise Linux Server release 5.5 (Carthage)"}
ret = getRedhatishPlatform(c)
assert.Equalf(t, "enterprise", ret, "Could not get platform redhat enterprise: %v", ret)
c = []string{""}
ret = getRedhatishPlatform(c)
assert.Emptyf(t, ret, "Could not get platform with no value: %v", ret)
}
func TestGetlsbStruct(t *testing.T) {
cases := []struct {
root string
id string
release string
codename string
description string
}{
{"arch", "Arch", "rolling", "", "Arch Linux"},
{"ubuntu_22_04", "Ubuntu", "22.04", "jammy", "Ubuntu 22.04.2 LTS"},
}
for _, tt := range cases {
tt := tt
t.Run(tt.root, func(t *testing.T) {
ctx := context.WithValue(context.Background(),
common.EnvKey,
common.EnvMap{common.HostEtcEnvKey: "./testdata/linux/lsbStruct/" + tt.root},
)
v, err := getlsbStruct(ctx)
require.NoError(t, err)
assert.Equalf(t, v.ID, tt.id, "ID: want %v, got %v", tt.id, v.ID)
assert.Equalf(t, v.Release, tt.release, "Release: want %v, got %v", tt.release, v.Release)
assert.Equalf(t, v.Codename, tt.codename, "Codename: want %v, got %v", tt.codename, v.Codename)
assert.Equalf(t, v.Description, tt.description, "Description: want %v, got %v", tt.description, v.Description)
t.Log(v)
})
}
}