Skip to content

Commit 700ea62

Browse files
committed
fix(config): accept negative max terminated config to allow unlimited tracking
Signed-off-by: Sunil Thaha <[email protected]>
1 parent 508b726 commit 700ea62

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

config/config.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -483,9 +483,7 @@ func (c *Config) Validate(skips ...SkipValidation) error {
483483
if c.Monitor.Staleness < 0 {
484484
errs = append(errs, fmt.Sprintf("invalid monitor staleness: %s can't be negative", c.Monitor.Staleness))
485485
}
486-
if c.Monitor.MaxTerminated < 0 {
487-
errs = append(errs, fmt.Sprintf("invalid monitor max terminated: %d can't be negative", c.Monitor.MaxTerminated))
488-
}
486+
489487
if c.Monitor.MinTerminatedEnergyThreshold < 0 {
490488
errs = append(errs, fmt.Sprintf("invalid monitor min terminated energy threshold: %d can't be negative", c.Monitor.MinTerminatedEnergyThreshold))
491489
}

config/config_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -633,7 +633,7 @@ func TestMonitorConfig(t *testing.T) {
633633
assert.NoError(t, cfg.Validate())
634634

635635
cfg.Monitor.MaxTerminated = -10
636-
assert.ErrorContains(t, cfg.Validate(), "invalid configuration: invalid monitor max terminated")
636+
assert.NoError(t, cfg.Validate(), "invalid configuration: invalid monitor max terminated")
637637

638638
cfg.Monitor.MaxTerminated = 0
639639
assert.NoError(t, cfg.Validate(), "maxTerminated=0 should be valid (unlimited)")
@@ -691,9 +691,9 @@ func TestMonitorConfigFlags(t *testing.T) {
691691
args: []string{"--monitor.max-terminated=0"},
692692
expected: expect{interval: 5 * time.Second, staleness: 500 * time.Millisecond, maxTerminated: 0, parseError: nil},
693693
}, {
694-
name: "invalid-max-terminated",
694+
name: "negative-max-terminated",
695695
args: []string{"--monitor.max-terminated=-10"},
696-
expected: expect{cfgErr: fmt.Errorf("invalid configuration: invalid monitor max terminated")},
696+
expected: expect{interval: 5 * time.Second, staleness: 500 * time.Millisecond, maxTerminated: -10, parseError: nil},
697697
}}
698698

699699
for _, tc := range tt {
@@ -746,15 +746,15 @@ monitor:
746746
assert.Equal(t, 0, cfg.Monitor.MaxTerminated)
747747
})
748748

749-
t.Run("yaml-config-maxTerminated-invalid", func(t *testing.T) {
749+
t.Run("yaml-config-maxTerminated-negative", func(t *testing.T) {
750750
yamlData := `
751751
monitor:
752752
maxTerminated: -100
753753
`
754754
reader := strings.NewReader(yamlData)
755-
_, err := Load(reader)
756-
assert.Error(t, err)
757-
assert.Contains(t, err.Error(), "invalid monitor max terminated")
755+
cfg, err := Load(reader)
756+
assert.NoError(t, err)
757+
assert.Equal(t, -100, cfg.Monitor.MaxTerminated)
758758
})
759759
}
760760

0 commit comments

Comments
 (0)