mirror of https://github.com/kubernetes/kops.git
Use anonymous struct for wrapping ginkgo.Tester
This commit is contained in:
parent
720dcb6428
commit
f671acc5d6
|
|
@ -37,11 +37,11 @@ import (
|
|||
// AcquireKubectl obtains kubectl and places it in a temporary directory
|
||||
func (t *Tester) AcquireKubectl() (string, error) {
|
||||
// first, get the name of the latest release (e.g. v1.20.0-alpha.0)
|
||||
if t.Ginkgo.TestPackageVersion == "" {
|
||||
if t.TestPackageVersion == "" {
|
||||
cmd := exec.Command(
|
||||
"gsutil",
|
||||
"cat",
|
||||
fmt.Sprintf("gs://%s/%s/latest.txt", t.Ginkgo.TestPackageBucket, t.Ginkgo.TestPackageDir),
|
||||
fmt.Sprintf("gs://%s/%s/latest.txt", t.TestPackageBucket, t.TestPackageDir),
|
||||
)
|
||||
lines, err := exec.OutputLines(cmd)
|
||||
if err != nil {
|
||||
|
|
@ -50,9 +50,9 @@ func (t *Tester) AcquireKubectl() (string, error) {
|
|||
if len(lines) == 0 {
|
||||
return "", fmt.Errorf("getting latest release name had no output")
|
||||
}
|
||||
t.Ginkgo.TestPackageVersion = lines[0]
|
||||
t.TestPackageVersion = lines[0]
|
||||
|
||||
klog.Infof("Kubectl package version was not specified. Defaulting to latest: %s", t.Ginkgo.TestPackageVersion)
|
||||
klog.Infof("Kubectl package version was not specified. Defaulting to latest: %s", t.TestPackageVersion)
|
||||
}
|
||||
|
||||
clientTar := fmt.Sprintf("kubernetes-client-%s-%s.tar.gz", runtime.GOOS, runtime.GOARCH)
|
||||
|
|
@ -139,9 +139,9 @@ func (t *Tester) ensureClientTar(downloadPath, clientTar string) error {
|
|||
"gsutil", "cp",
|
||||
fmt.Sprintf(
|
||||
"gs://%s/%s/%s/%s",
|
||||
t.Ginkgo.TestPackageBucket,
|
||||
t.Ginkgo.TestPackageDir,
|
||||
t.Ginkgo.TestPackageVersion,
|
||||
t.TestPackageBucket,
|
||||
t.TestPackageDir,
|
||||
t.TestPackageVersion,
|
||||
clientTar,
|
||||
),
|
||||
downloadPath,
|
||||
|
|
@ -151,7 +151,7 @@ func (t *Tester) ensureClientTar(downloadPath, clientTar string) error {
|
|||
cmd := exec.Command(args[0], args[1:]...)
|
||||
exec.InheritOutput(cmd)
|
||||
if err := cmd.Run(); err != nil {
|
||||
return fmt.Errorf("failed to download release tar %s for release %s: %s", clientTar, t.Ginkgo.TestPackageVersion, err)
|
||||
return fmt.Errorf("failed to download release tar %s for release %s: %s", clientTar, t.TestPackageVersion, err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
@ -160,15 +160,15 @@ func (t *Tester) compareSHA(downloadPath string, clientTar string) error {
|
|||
cmd := exec.Command("gsutil", "cat",
|
||||
fmt.Sprintf(
|
||||
"gs://%s/%s/%s/%s",
|
||||
t.Ginkgo.TestPackageBucket,
|
||||
t.Ginkgo.TestPackageDir,
|
||||
t.Ginkgo.TestPackageVersion,
|
||||
t.TestPackageBucket,
|
||||
t.TestPackageDir,
|
||||
t.TestPackageVersion,
|
||||
clientTar+".sha256",
|
||||
),
|
||||
)
|
||||
expectedSHABytes, err := exec.Output(cmd)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to get sha256 for release tar %s for release %s: %s", clientTar, t.Ginkgo.TestPackageVersion, err)
|
||||
return fmt.Errorf("failed to get sha256 for release tar %s for release %s: %s", clientTar, t.TestPackageVersion, err)
|
||||
}
|
||||
expectedSHA := strings.TrimSuffix(string(expectedSHABytes), "\n")
|
||||
actualSHA, err := sha256sum(downloadPath)
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import (
|
|||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/octago/sflags/gen/gpflag"
|
||||
"k8s.io/klog/v2"
|
||||
|
||||
"sigs.k8s.io/kubetest2/pkg/testers/ginkgo"
|
||||
|
|
@ -28,7 +29,7 @@ import (
|
|||
|
||||
// Tester wraps kubetest2's ginkgo tester with additional functionality
|
||||
type Tester struct {
|
||||
Ginkgo *ginkgo.Tester
|
||||
*ginkgo.Tester
|
||||
}
|
||||
|
||||
func (t *Tester) pretestSetup() error {
|
||||
|
|
@ -43,22 +44,39 @@ func (t *Tester) pretestSetup() error {
|
|||
return os.Setenv("PATH", newPath)
|
||||
}
|
||||
|
||||
func (t *Tester) Execute() error {
|
||||
func (t *Tester) execute() error {
|
||||
fs, err := gpflag.Parse(t)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to initialize tester: %v", err)
|
||||
}
|
||||
|
||||
help := fs.BoolP("help", "h", false, "")
|
||||
if err := fs.Parse(os.Args); err != nil {
|
||||
return fmt.Errorf("failed to parse flags: %v", err)
|
||||
}
|
||||
|
||||
if *help {
|
||||
fs.SetOutput(os.Stdout)
|
||||
fs.PrintDefaults()
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := t.pretestSetup(); err != nil {
|
||||
return err
|
||||
}
|
||||
return t.Ginkgo.Execute()
|
||||
|
||||
return t.Execute()
|
||||
}
|
||||
|
||||
func NewDefaultTester() *Tester {
|
||||
return &Tester{
|
||||
Ginkgo: ginkgo.NewDefaultTester(),
|
||||
ginkgo.NewDefaultTester(),
|
||||
}
|
||||
}
|
||||
|
||||
func Main() {
|
||||
t := NewDefaultTester()
|
||||
if err := t.Execute(); err != nil {
|
||||
if err := t.execute(); err != nil {
|
||||
klog.Fatalf("failed to run ginkgo tester: %v", err)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue