Skip to content

Commit 557510e

Browse files
Merge pull request #1311 from hongkailiu/e2e-exe-options
NO-JIRA: More flexible timeout option for oc-cli
2 parents f25054a + 2c8b7f5 commit 557510e

4 files changed

Lines changed: 19 additions & 16 deletions

File tree

test/cvo/cvo.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ var _ = g.Describe(`[Jira:"Cluster Version Operator"] cluster-version-operator-t
2929
})
3030

3131
g.It("can use oc to get the version information", func() {
32-
ocClient, err := oc.NewOC(logger)
32+
ocClient, err := oc.NewOC(ocapi.Options{Logger: logger})
3333
o.Expect(err).NotTo(o.HaveOccurred())
3434
o.Expect(ocClient).NotTo(o.BeNil())
3535

test/oc/api/api.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
package api
22

3+
import (
4+
"time"
5+
6+
"github.com/go-logr/logr"
7+
)
8+
39
type ReleaseExtractOptions struct {
410
To string
511
}
@@ -8,6 +14,11 @@ type VersionOptions struct {
814
Client bool
915
}
1016

17+
type Options struct {
18+
Logger logr.Logger
19+
Timeout time.Duration
20+
}
21+
1122
type OC interface {
1223
AdmReleaseExtract(o ReleaseExtractOptions) error
1324
Version(o VersionOptions) (string, error)

test/oc/cli/cli.go

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"context"
55
"errors"
66
"fmt"
7-
"os"
87
"os/exec"
98
"strings"
109
"time"
@@ -62,26 +61,21 @@ func newOCExecutor(oc string, timeout time.Duration, logger logr.Logger) (execut
6261
}
6362

6463
// NewOCCli return a client for oc-cli.
65-
func NewOCCli(logger logr.Logger) (api.OC, error) {
64+
func NewOCCli(o api.Options) (api.OC, error) {
6665
oc, err := exec.LookPath("oc")
6766
if err != nil {
6867
return nil, err
6968
}
70-
timeout := 30 * time.Second
71-
timeoutStr := os.Getenv("OC_CLI_TIMEOUT")
72-
if timeoutStr != "" {
73-
timeout, err = time.ParseDuration(timeoutStr)
74-
if err != nil {
75-
return nil, err
76-
}
69+
if o.Timeout == 0 {
70+
o.Timeout = 30 * time.Second
7771
}
7872

79-
executor, err := newOCExecutor(oc, timeout, logger)
73+
executor, err := newOCExecutor(oc, o.Timeout, o.Logger)
8074
if err != nil {
8175
return nil, err
8276
}
8377
ret := client{
84-
logger: logger,
78+
logger: o.Logger,
8579
executor: executor,
8680
}
8781
return &ret, nil

test/oc/oc.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
package oc
22

33
import (
4-
"github.com/go-logr/logr"
5-
64
"github.com/openshift/cluster-version-operator/test/oc/api"
75
"github.com/openshift/cluster-version-operator/test/oc/cli"
86
)
97

108
// NewOC returns OC that provides utility functions used by the e2e tests
11-
func NewOC(logger logr.Logger) (api.OC, error) {
12-
return cli.NewOCCli(logger)
9+
func NewOC(o api.Options) (api.OC, error) {
10+
return cli.NewOCCli(o)
1311
}

0 commit comments

Comments
 (0)