go.d fix dimension id check (#18272)
Ilya Mashchenko committed
Aug 7, 2024 at 11:54 UTC
c432b4e90f446c28f48f129f242367d930b8fb9a
2 files changed
+4
-1
src/go/plugin/go.d/agent/module/charts.go
+1
-1
@@ -439,7 +439,7 @@ func checkDim(d *Dim) error {
439
if d.ID == "" {
440
return errors.New("empty dim ID")
441
}
442
- if id := checkID(d.ID); id != -1 {
442
+ if id := checkID(d.ID); id != -1 && (d.Name == "" || checkID(d.Name) != -1) {
443
return fmt.Errorf("unacceptable symbol in dim ID '%s' : '%c'", d.ID, id)
444
}
445
return nil
src/go/plugin/go.d/agent/module/charts_test.go
+3
@@ -341,6 +341,9 @@ func TestDim_check(t *testing.T) {
341
dim = &Dim{ID: "id"}
342
dim.ID = "invalid id"
343
assert.Error(t, checkDim(dim))
344
+
345
+ dim = &Dim{ID: "i d", Name: "id"}
346
+ assert.NoError(t, checkDim(dim))
347
}
348
349
func TestVar_check(t *testing.T) {