From 6b5da29e3df05fac39dd4ca67833cdd1c87af4a4 Mon Sep 17 00:00:00 2001 From: blotus Date: Fri, 6 Oct 2023 14:43:17 +0200 Subject: [PATCH] Use a default duration if no duration is provided in a profile (#2520) --- pkg/csprofiles/csprofiles.go | 11 +++++++++-- pkg/csprofiles/csprofiles_test.go | 13 +++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/pkg/csprofiles/csprofiles.go b/pkg/csprofiles/csprofiles.go index 4394a01db..6d217bda2 100644 --- a/pkg/csprofiles/csprofiles.go +++ b/pkg/csprofiles/csprofiles.go @@ -86,8 +86,15 @@ func NewProfile(profilesCfg []*csconfig.ProfileCfg) ([]*Runtime, error) { for _, decision := range profile.Decisions { if runtime.RuntimeDurationExpr == nil { - if _, err := time.ParseDuration(*decision.Duration); err != nil { - return []*Runtime{}, errors.Wrapf(err, "error parsing duration '%s' of %s", *decision.Duration, profile.Name) + var duration string + if decision.Duration != nil { + duration = *decision.Duration + } else { + runtime.Logger.Warningf("No duration specified for %s, using default duration %s", profile.Name, defaultDuration) + duration = defaultDuration + } + if _, err := time.ParseDuration(duration); err != nil { + return []*Runtime{}, errors.Wrapf(err, "error parsing duration '%s' of %s", duration, profile.Name) } } } diff --git a/pkg/csprofiles/csprofiles_test.go b/pkg/csprofiles/csprofiles_test.go index 8adf68291..be1d0178e 100644 --- a/pkg/csprofiles/csprofiles_test.go +++ b/pkg/csprofiles/csprofiles_test.go @@ -86,6 +86,19 @@ func TestNewProfile(t *testing.T) { }, expectedNbProfile: 1, }, + { + name: "filter ok and no duration", + profileCfg: &csconfig.ProfileCfg{ + Filters: []string{ + "1==1", + }, + Debug: &boolTrue, + Decisions: []models.Decision{ + {Type: &typ, Scope: &scope, Simulated: &boolFalse}, + }, + }, + expectedNbProfile: 1, + }, } for _, test := range tests {