cleanup after handling remote bases

This commit is contained in:
Jingfang Liu
2018-08-21 15:36:49 -07:00
parent 430f2f84fb
commit 6da691f874
4 changed files with 15 additions and 2 deletions

View File

@@ -226,6 +226,7 @@ func (a *Application) loadCustomizedBases() (resmap.ResMap, *interror.Kustomizat
errs.Append(errors.Wrap(err, "SemiResources")) errs.Append(errors.Wrap(err, "SemiResources"))
continue continue
} }
ldr.Cleanup()
list = append(list, resMap) list = append(list, resMap)
} }
result, err := resmap.MergeWithoutOverride(list...) result, err := resmap.MergeWithoutOverride(list...)
@@ -322,6 +323,7 @@ func (a *Application) getAllVars() ([]types.Var, error) {
errs.Append(err) errs.Append(err)
continue continue
} }
b.ldr.Cleanup()
result = append(result, vars...) result = append(result, vars...)
} }
for _, v := range a.kustomization.Vars { for _, v := range a.kustomization.Vars {

View File

@@ -369,6 +369,9 @@ func TestRawResources2(t *testing.T) {
if err := expected.ErrorIfNotEqual(actual); err != nil { if err := expected.ErrorIfNotEqual(actual); err != nil {
t.Fatalf("unexpected inequality: %v", err) t.Fatalf("unexpected inequality: %v", err)
} }
if !loadertest.CleanupCalled {
t.Fatalf("Cleanup should be called")
}
} }
func TestSecretTimeout(t *testing.T) { func TestSecretTimeout(t *testing.T) {

View File

@@ -22,6 +22,9 @@ import (
"github.com/kubernetes-sigs/kustomize/pkg/loader" "github.com/kubernetes-sigs/kustomize/pkg/loader"
) )
// CleanupCalled indicates if Cleanup is called.
var CleanupCalled = false
// FakeLoader encapsulates the delegate Loader and the fake file system. // FakeLoader encapsulates the delegate Loader and the fake file system.
type FakeLoader struct { type FakeLoader struct {
fs fs.FileSystem fs fs.FileSystem
@@ -56,7 +59,11 @@ func (f FakeLoader) Root() string {
// New creates a new loader from a new root. // New creates a new loader from a new root.
func (f FakeLoader) New(newRoot string) (loader.Loader, error) { func (f FakeLoader) New(newRoot string) (loader.Loader, error) {
return f.delegate.New(newRoot) l, err := f.delegate.New(newRoot)
if err != nil {
return nil, err
}
return FakeLoader{fs: f.fs, delegate: l}, nil
} }
// Load performs load from a given location. // Load performs load from a given location.
@@ -66,5 +73,6 @@ func (f FakeLoader) Load(location string) ([]byte, error) {
// Cleanup does nothing // Cleanup does nothing
func (f FakeLoader) Cleanup() error { func (f FakeLoader) Cleanup() error {
CleanupCalled = true
return nil return nil
} }

View File

@@ -68,7 +68,7 @@ func newGithubLoader(repoUrl string, fs fs.FileSystem) (*githubLoader, error) {
l := newFileLoaderAtRoot(target, fs) l := newFileLoaderAtRoot(target, fs)
return &githubLoader{ return &githubLoader{
repo: repoUrl, repo: repoUrl,
checkoutDir: target, checkoutDir: dir,
loader: l, loader: l,
}, nil }, nil
} }