From 03ce1e27c751f752565a9fdcf3d25a3743bd212c Mon Sep 17 00:00:00 2001 From: Ta-Ching Chen Date: Wed, 19 Feb 2020 17:03:02 +0800 Subject: [PATCH] Fix function test timeout doesnt works (#1539) --- pkg/fission-cli/cmd/function/test.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pkg/fission-cli/cmd/function/test.go b/pkg/fission-cli/cmd/function/test.go index 26e8650e..e481d807 100644 --- a/pkg/fission-cli/cmd/function/test.go +++ b/pkg/fission-cli/cmd/function/test.go @@ -24,6 +24,7 @@ import ( "net/url" "os" "strings" + "time" "github.com/pkg/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -95,8 +96,16 @@ func (opts *TestSubCommand) do(input cli.Input) error { functionUrl.RawQuery = query.Encode() } - ctx, closeCtx := context.WithTimeout(context.Background(), input.Duration(flagkey.FnTestTimeout)) - defer closeCtx() + var ctx context.Context + + testTimeout := input.Duration(flagkey.FnTestTimeout) + if testTimeout <= 0*time.Second { + ctx = context.Background() + } else { + var closeCtx context.CancelFunc + ctx, closeCtx = context.WithTimeout(context.Background(), input.Duration(flagkey.FnTestTimeout)) + defer closeCtx() + } resp, err := doHTTPRequest(ctx, functionUrl.String(), input.StringSlice(flagkey.FnTestHeader),