package inspur import "testing" func TestParseSensorList(t *testing.T) { content := []byte(`============ Description:sensor list Command: ipmitool sensor list Response: Inlet_Temp | 21.000 | degrees C | ok | na | na | na | na | 40.000 | na GPU0_Temp | 29.000 | degrees C | ok | na | na | na | na | 86.000 | na PSU0_Status | 0x0 | discrete | 0x0180| na | na | na | na | na | na `) readings := ParseSensorList(content) if len(readings) != 3 { t.Fatalf("expected 3 readings, got %d", len(readings)) } if readings[0].Name != "Inlet_Temp" || readings[0].Value != 21.0 || readings[0].Unit != "degrees C" { t.Fatalf("unexpected Inlet_Temp reading: %+v", readings[0]) } if readings[1].Type != "temperature" { t.Fatalf("expected temperature type, got %q", readings[1].Type) } } func TestParseSDRElist(t *testing.T) { content := []byte(`============ Description:sdr elist Command: ipmitool sdr elist Response: Inlet_Temp | 00h | ok | 3.0 | 21 degrees C GPU0_Temp | 2Ah | ok | 11.0 | 29 degrees C Event Logging Disabled SEL_Status | 15h | ok | 7.0 | no reading `) readings := ParseSDRElist(content) if len(readings) != 3 { t.Fatalf("expected 3 readings, got %d", len(readings)) } if readings[0].Name != "Inlet_Temp" || readings[0].Value != 21 || readings[0].Unit != "degrees C" { t.Fatalf("unexpected Inlet_Temp reading: %+v", readings[0]) } if readings[2].RawValue != "" { t.Fatalf("expected no reading to leave RawValue empty, got %q", readings[2].RawValue) } }