From cf231538f454edb10db6c4c7203a370f8d73d01c Mon Sep 17 00:00:00 2001 From: RoyUP9 <87927115+RoyUP9@users.noreply.github.com> Date: Mon, 6 Sep 2021 11:42:47 +0300 Subject: [PATCH] added panic catch on tests (#265) --- acceptanceTests/testsUtils.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/acceptanceTests/testsUtils.go b/acceptanceTests/testsUtils.go index d6a41db8d..43d04fa61 100644 --- a/acceptanceTests/testsUtils.go +++ b/acceptanceTests/testsUtils.go @@ -84,10 +84,10 @@ func getDefaultConfigCommandArgs() []string { } func retriesExecute(retriesCount int, executeFunc func() error) error { - var lastError error + var lastError interface{} for i := 0; i < retriesCount; i++ { - if err := executeFunc(); err != nil { + if err := tryExecuteFunc(executeFunc); err != nil { lastError = err time.Sleep(1 * time.Second) @@ -100,6 +100,16 @@ func retriesExecute(retriesCount int, executeFunc func() error) error { return fmt.Errorf("reached max retries count, retries count: %v, last err: %v", retriesCount, lastError) } +func tryExecuteFunc(executeFunc func() error) (err interface{}) { + defer func() { + if panicErr := recover(); panicErr != nil { + err = panicErr + } + }() + + return executeFunc() +} + func waitTapPodsReady(apiServerUrl string) error { resolvingUrl := fmt.Sprintf("%v/status/tappersCount", apiServerUrl) tapPodsReadyFunc := func() error {