65 lines
1.7 KiB
Go
65 lines
1.7 KiB
Go
package server
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"git.mchus.pro/mchus/logpile/internal/models"
|
|
)
|
|
|
|
func TestExtractFirmwareComponentAndModel_GPUUsesPartNumberFromParentheses(t *testing.T) {
|
|
component, model := extractFirmwareComponentAndModel("GPU GPUSXM3 (692-2G520-0280-501)")
|
|
if component != "GPU" {
|
|
t.Fatalf("expected component GPU, got %q", component)
|
|
}
|
|
if model != "692-2G520-0280-501" {
|
|
t.Fatalf("expected GPU model 692-2G520-0280-501, got %q", model)
|
|
}
|
|
}
|
|
|
|
func TestExtractFirmwareComponentAndModel_GPUFallbackWithoutParentheses(t *testing.T) {
|
|
component, model := extractFirmwareComponentAndModel("GPU 692-2G520-0280-501")
|
|
if component != "GPU" {
|
|
t.Fatalf("expected component GPU, got %q", component)
|
|
}
|
|
if model != "692-2G520-0280-501" {
|
|
t.Fatalf("expected GPU model 692-2G520-0280-501, got %q", model)
|
|
}
|
|
}
|
|
|
|
func TestBuildFirmwareEntries_IncludesGPUFirmwareFallback(t *testing.T) {
|
|
hw := &models.HardwareConfig{
|
|
Firmware: []models.FirmwareInfo{
|
|
{DeviceName: "BIOS", Version: "1.0.0"},
|
|
},
|
|
GPUs: []models.GPU{
|
|
{
|
|
Slot: "#CPU0_PCIE2",
|
|
Model: "GH100 [H200 NVL]",
|
|
PartNumber: "699-2G530-0200-501",
|
|
Firmware: "96.00.B7.00.02",
|
|
},
|
|
{
|
|
Slot: "#CPU0_PCIE1",
|
|
Model: "GH100 [H200 NVL]",
|
|
PartNumber: "699-2G530-0200-501",
|
|
Firmware: "96.00.B7.00.02",
|
|
},
|
|
},
|
|
}
|
|
|
|
entries := buildFirmwareEntries(hw)
|
|
if len(entries) != 2 {
|
|
t.Fatalf("expected 2 deduplicated firmware entries, got %d", len(entries))
|
|
}
|
|
|
|
var hasGPU bool
|
|
for _, e := range entries {
|
|
if e.Component == "GPU" && e.Version == "96.00.B7.00.02" {
|
|
hasGPU = true
|
|
}
|
|
}
|
|
if !hasGPU {
|
|
t.Fatalf("expected GPU firmware entry from hardware.gpus fallback")
|
|
}
|
|
}
|