Skip to content
This repository was archived by the owner on Nov 18, 2020. It is now read-only.

Commit e5f7283

Browse files
authored
memcached/test/e2e: use pointer to ctx, not struct (#31)
* memcached/test/e2e: use pointer to ctx, not struct Golang is pass-by-value, so passing the value of ctx meant that any finalizer functions added in memcachedScaleTest were not being run. This commit changes that by using a pointer instead. * *: rebase to latest operator-sdk master The latest operator-sdk master includes a fix for the pointer issue
1 parent 628b175 commit e5f7283

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

memcached-operator/Gopkg.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

memcached-operator/cmd/memcached-operator/main.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package main
33
import (
44
"context"
55
"runtime"
6+
"time"
67

78
stub "github.com/operator-framework/operator-sdk-samples/memcached-operator/pkg/stub"
89
sdk "github.com/operator-framework/operator-sdk/pkg/sdk"
@@ -30,7 +31,7 @@ func main() {
3031
if err != nil {
3132
logrus.Fatalf("failed to get watch namespace: %v", err)
3233
}
33-
resyncPeriod := 5
34+
resyncPeriod := time.Duration(5) * time.Second
3435
logrus.Infof("Watching %s, %s, %s, %d", resource, kind, namespace, resyncPeriod)
3536
sdk.Watch(resource, kind, namespace, resyncPeriod)
3637
sdk.Handle(stub.NewHandler())

memcached-operator/test/e2e/memcached_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func TestMemcached(t *testing.T) {
5151
})
5252
}
5353

54-
func memcachedScaleTest(t *testing.T, f *framework.Framework, ctx framework.TestCtx) error {
54+
func memcachedScaleTest(t *testing.T, f *framework.Framework, ctx *framework.TestCtx) error {
5555
namespace, err := ctx.GetNamespace()
5656
if err != nil {
5757
return fmt.Errorf("could not get namespace: %v", err)
@@ -74,6 +74,9 @@ func memcachedScaleTest(t *testing.T, f *framework.Framework, ctx framework.Test
7474
if err != nil {
7575
return err
7676
}
77+
ctx.AddFinalizerFn(func() error {
78+
return f.DynamicClient.Delete(goctx.TODO(), exampleMemcached)
79+
})
7780
// wait for example-memcached to reach 3 replicas
7881
err = e2eutil.WaitForDeployment(t, f.KubeClient, namespace, "example-memcached", 3, retryInterval, timeout)
7982
if err != nil {

0 commit comments

Comments
 (0)