tests: Add context cancelation (#15374)

A huge number of goroutines would build up from various monitors

When creating test filesystems provide a context so they can shut down when no longer needed.
This commit is contained in:
Klaus Post
2022-07-21 11:52:18 -07:00
committed by GitHub
parent cab8d3d568
commit 1e332f0eb1
22 changed files with 136 additions and 69 deletions

View File

@@ -18,6 +18,7 @@
package cmd
import (
"context"
"os"
"reflect"
"sync"
@@ -27,8 +28,8 @@ import (
)
// Helper function to create a lock server for testing
func createLockTestServer(t *testing.T) (string, *lockRESTServer, string) {
obj, fsDir, err := prepareFS()
func createLockTestServer(ctx context.Context, t *testing.T) (string, *lockRESTServer, string) {
obj, fsDir, err := prepareFS(ctx)
if err != nil {
t.Fatal(err)
}
@@ -52,7 +53,10 @@ func createLockTestServer(t *testing.T) (string, *lockRESTServer, string) {
// Test function to remove lock entries from map based on name & uid combination
func TestLockRpcServerRemoveEntry(t *testing.T) {
testPath, locker, _ := createLockTestServer(t)
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
testPath, locker, _ := createLockTestServer(ctx, t)
defer os.RemoveAll(testPath)
lockRequesterInfo1 := lockRequesterInfo{