| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package gcp
- import "testing"
- func TestNormalizeGPULabel(t *testing.T) {
- cases := []struct {
- desc string
- want string
- }{
- // A100 80GB (A2-Ultra)
- {"Nvidia A100 80GB GPU attached to instance", "nvidia-a100-80gb"},
- {"Nvidia Tesla A100 80GB GPU (SXM4) in region us-central1", "nvidia-a100-80gb"},
- // A100 40GB / generic A100 (A2-HighGPU legacy label)
- {"Nvidia Tesla A100 GPU attached", "nvidia-tesla-a100"},
- {"Nvidia Tesla A100 40GB GPU", "nvidia-tesla-a100"},
- // L4 (G2)
- {"NVIDIA L4 GPU attached", "nvidia-l4"},
- // T4
- {"Tesla T4 GPU", "nvidia-tesla-t4"},
- {"NVIDIA T4 accelerator", "nvidia-tesla-t4"},
- // V100
- {"NVIDIA V100 in use", "nvidia-tesla-v100"},
- // P100 – reviewer example, should be handled by regex fallback.
- {"Nvidia Tesla P100 GPU running in Melbourne", "nvidia-tesla-p100"},
- // No GPU
- {"E2 standard instance, no accelerator", ""},
- }
- for i, tc := range cases {
- got := NormalizeGPULabel(tc.desc)
- if got != tc.want {
- t.Fatalf("case %d: desc=%q: got %q, want %q", i, tc.desc, got, tc.want)
- }
- }
- }
|