mirror of
https://github.com/henrygd/beszel.git
synced 2026-03-22 21:46:18 +01:00
purego requires dynamic linking, so split the agent builds: - Default: static binary without NVML (works on musl/alpine) - Glibc: dynamic binary with NVML support via purego Changes: - Add glibc build tag to conditionally include NVML code - Add beszel-agent-linux-amd64-glibc build/archive in goreleaser - Update ghupdate to use glibc binary on glibc systems - Switch nvidia dockerfile to golang:bookworm with -tags glibc
54 lines
1.3 KiB
Go
54 lines
1.3 KiB
Go
//go:build !linux && testing
|
|
|
|
package agent
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestNewSystemdManager(t *testing.T) {
|
|
manager, err := newSystemdManager()
|
|
assert.NoError(t, err)
|
|
assert.NotNil(t, manager)
|
|
}
|
|
|
|
func TestSystemdManagerGetServiceStats(t *testing.T) {
|
|
manager, err := newSystemdManager()
|
|
assert.NoError(t, err)
|
|
|
|
// Test with refresh = true
|
|
result := manager.getServiceStats("any-service", true)
|
|
assert.Nil(t, result)
|
|
|
|
// Test with refresh = false
|
|
result = manager.getServiceStats("any-service", false)
|
|
assert.Nil(t, result)
|
|
}
|
|
|
|
func TestSystemdManagerGetServiceDetails(t *testing.T) {
|
|
manager, err := newSystemdManager()
|
|
assert.NoError(t, err)
|
|
|
|
result, err := manager.getServiceDetails("any-service")
|
|
assert.Error(t, err)
|
|
assert.Equal(t, "systemd manager unavailable", err.Error())
|
|
assert.Nil(t, result)
|
|
|
|
// Test with empty service name
|
|
result, err = manager.getServiceDetails("")
|
|
assert.Error(t, err)
|
|
assert.Equal(t, "systemd manager unavailable", err.Error())
|
|
assert.Nil(t, result)
|
|
}
|
|
|
|
func TestSystemdManagerFields(t *testing.T) {
|
|
manager, err := newSystemdManager()
|
|
assert.NoError(t, err)
|
|
|
|
// The non-linux manager should be a simple struct with no special fields
|
|
// We can't test private fields directly, but we can test the methods work
|
|
assert.NotNil(t, manager)
|
|
}
|