45 lines
1.1 KiB
Go
45 lines
1.1 KiB
Go
package syscheck
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestGetCPUInfo(t *testing.T) {
|
|
info, err := GetCPUInfo(t.Context())
|
|
if err != nil {
|
|
t.Fatalf("Failed to get CPU info: %v", err)
|
|
}
|
|
|
|
// Validate CPU cores
|
|
if info.Cores <= 0 {
|
|
t.Errorf("expected CPU cores > 0, got %d", info.Cores)
|
|
}
|
|
|
|
// Validate CPU frequency (should be reasonable, e.g., 500MHz - 10000MHz)
|
|
if info.FrequencyMHz <= 0 {
|
|
t.Errorf("expected CPU frequency > 0, got %.2f", info.FrequencyMHz)
|
|
}
|
|
if info.FrequencyMHz < 500 || info.FrequencyMHz > 10000 {
|
|
t.Logf("Warning: CPU frequency seems unusual: %.2f MHz", info.FrequencyMHz)
|
|
}
|
|
|
|
// Log CPU information
|
|
t.Logf("CPU Cores: %d", info.Cores)
|
|
t.Logf("CPU Frequency: %.2f MHz (%.2f GHz)", info.FrequencyMHz, info.FrequencyMHz/1000)
|
|
t.Logf("AES-NI Support: %v", info.SupportAES)
|
|
t.Logf("x86-64-v2 Compatible: %v", info.IsX86V2)
|
|
|
|
// Log feature support
|
|
if info.SupportAES {
|
|
t.Log("✓ CPU supports AES-NI hardware acceleration")
|
|
} else {
|
|
t.Log("✗ CPU does not support AES-NI")
|
|
}
|
|
|
|
if info.IsX86V2 {
|
|
t.Log("✓ CPU is x86-64-v2 compatible (SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT)")
|
|
} else {
|
|
t.Log("✗ CPU is not x86-64-v2 compatible")
|
|
}
|
|
}
|