pull/8829/merge
Li Zhijian 3 years ago committed by GitHub
commit b1516580a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -31,7 +31,7 @@ import (
)
func TestCreateCmd(t *testing.T) {
defer ensure.HelmHome(t)()
ensure.HelmHome(t)
cname := "testchart"
dir := ensure.TempDir(t)
defer testChdir(t, dir)()
@ -62,7 +62,7 @@ func TestCreateCmd(t *testing.T) {
}
func TestCreateStarterCmd(t *testing.T) {
defer ensure.HelmHome(t)()
ensure.HelmHome(t)
cname := "testchart"
defer resetEnv()()
os.MkdirAll(helmpath.CachePath(), 0755)
@ -128,7 +128,7 @@ func TestCreateStarterCmd(t *testing.T) {
func TestCreateStarterAbsoluteCmd(t *testing.T) {
defer resetEnv()()
defer ensure.HelmHome(t)()
ensure.HelmHome(t)
cname := "testchart"
// Create a starter.

@ -22,6 +22,7 @@ import (
"strings"
"testing"
"helm.sh/helm/v3/internal/test/ensure"
"helm.sh/helm/v3/pkg/chartutil"
"helm.sh/helm/v3/pkg/provenance"
"helm.sh/helm/v3/pkg/repo"
@ -29,6 +30,7 @@ import (
)
func TestDependencyBuildCmd(t *testing.T) {
ensure.HelmHome(t)
srv, err := repotest.NewTempServerWithCleanup(t, "testdata/testcharts/*.tgz")
defer srv.Stop()
if err != nil {

@ -32,6 +32,7 @@ import (
)
func TestDependencyUpdateCmd(t *testing.T) {
ensure.HelmHome(t)
srv, err := repotest.NewTempServerWithCleanup(t, "testdata/testcharts/*.tgz")
if err != nil {
t.Fatal(err)
@ -149,7 +150,7 @@ func TestDependencyUpdateCmd(t *testing.T) {
func TestDependencyUpdateCmd_DoNotDeleteOldChartsOnError(t *testing.T) {
defer resetEnv()()
defer ensure.HelmHome(t)()
ensure.HelmHome(t)
srv, err := repotest.NewTempServerWithCleanup(t, "testdata/testcharts/*.tgz")
if err != nil {

@ -24,10 +24,12 @@ import (
"path/filepath"
"testing"
"helm.sh/helm/v3/internal/test/ensure"
"helm.sh/helm/v3/pkg/repo/repotest"
)
func TestPullCmd(t *testing.T) {
ensure.HelmHome(t)
srv, err := repotest.NewTempServerWithCleanup(t, "testdata/testcharts/*.tgz*")
if err != nil {
t.Fatal(err)

@ -193,6 +193,7 @@ func TestRepoAddConcurrentHiddenFile(t *testing.T) {
}
func repoAddConcurrent(t *testing.T, testName, repoFile string) {
ensure.HelmHome(t)
ts, err := repotest.NewTempServerWithCleanup(t, "testdata/testserver/*.*")
if err != nil {
t.Fatal(err)

@ -31,6 +31,7 @@ import (
)
func TestRepoRemove(t *testing.T) {
ensure.HelmHome(t)
ts, err := repotest.NewTempServerWithCleanup(t, "testdata/testserver/*.*")
if err != nil {
t.Fatal(err)

@ -130,7 +130,7 @@ func TestUpdateCustomCacheCmd(t *testing.T) {
func TestUpdateCharts(t *testing.T) {
defer resetEnv()()
defer ensure.HelmHome(t)()
ensure.HelmHome(t)
ts, err := repotest.NewTempServerWithCleanup(t, "testdata/testserver/*.*")
if err != nil {

@ -77,7 +77,7 @@ func TestRootCmd(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
defer ensure.HelmHome(t)()
ensure.HelmHome(t)
for k, v := range tt.envvars {
os.Setenv(k, v)

@ -27,7 +27,7 @@ import (
)
// HelmHome sets up a Helm Home in a temp dir.
func HelmHome(t *testing.T) func() {
func HelmHome(t *testing.T) {
t.Helper()
base := TempDir(t)
os.Setenv(xdg.CacheHomeEnvVar, base)
@ -36,9 +36,6 @@ func HelmHome(t *testing.T) func() {
os.Setenv(helmpath.CacheHomeEnvVar, "")
os.Setenv(helmpath.ConfigHomeEnvVar, "")
os.Setenv(helmpath.DataHomeEnvVar, "")
return func() {
os.RemoveAll(base)
}
}
// TempDir ensures a scratch test directory for unit testing purposes.
@ -48,6 +45,12 @@ func TempDir(t *testing.T) string {
if err != nil {
t.Fatal(err)
}
t.Cleanup(func() {
if !t.Failed() {
os.RemoveAll(d)
}
})
return d
}
@ -55,11 +58,7 @@ func TempDir(t *testing.T) string {
//
// It returns the path to the directory (to which you will still need to join the filename)
//
// You must clean up the directory that is returned.
//
// tempdir := TempFile(t, "foo", []byte("bar"))
// defer os.RemoveAll(tempdir)
// filename := filepath.Join(tempdir, "foo")
// The whole TempDir will be Remove automatically
func TempFile(t *testing.T, name string, data []byte) string {
path := TempDir(t)
filename := filepath.Join(path, name)

@ -18,7 +18,6 @@ package action
import (
"io/ioutil"
"os"
"path"
"testing"
@ -30,7 +29,6 @@ import (
func TestPassphraseFileFetcher(t *testing.T) {
secret := "secret"
directory := ensure.TempFile(t, "passphrase-file", []byte(secret))
defer os.RemoveAll(directory)
fetcher, err := passphraseFileFetcher(path.Join(directory, "passphrase-file"), nil)
if err != nil {
@ -50,7 +48,6 @@ func TestPassphraseFileFetcher(t *testing.T) {
func TestPassphraseFileFetcher_WithLineBreak(t *testing.T) {
secret := "secret"
directory := ensure.TempFile(t, "passphrase-file", []byte(secret+"\n\n."))
defer os.RemoveAll(directory)
fetcher, err := passphraseFileFetcher(path.Join(directory, "passphrase-file"), nil)
if err != nil {
@ -69,7 +66,6 @@ func TestPassphraseFileFetcher_WithLineBreak(t *testing.T) {
func TestPassphraseFileFetcher_WithInvalidStdin(t *testing.T) {
directory := ensure.TempDir(t)
defer os.RemoveAll(directory)
stdin, err := ioutil.TempFile(directory, "non-existing")
if err != nil {

@ -36,7 +36,6 @@ import (
func TestSave(t *testing.T) {
tmp := ensure.TempDir(t)
defer os.RemoveAll(tmp)
for _, dest := range []string{tmp, path.Join(tmp, "newdir")} {
t.Run("outDir="+dest, func(t *testing.T) {

@ -269,7 +269,7 @@ func TestDownloadTo_TLS(t *testing.T) {
}
func TestDownloadTo_VerifyLater(t *testing.T) {
defer ensure.HelmHome(t)()
ensure.HelmHome(t)
dest := ensure.TempDir(t)
defer os.RemoveAll(dest)

@ -22,6 +22,7 @@ import (
"reflect"
"testing"
"helm.sh/helm/v3/internal/test/ensure"
"helm.sh/helm/v3/pkg/chart"
"helm.sh/helm/v3/pkg/chart/loader"
"helm.sh/helm/v3/pkg/chartutil"
@ -265,6 +266,7 @@ func TestDownloadAll(t *testing.T) {
}
func TestUpdateBeforeBuild(t *testing.T) {
ensure.HelmHome(t)
// Set up a fake repo
srv, err := repotest.NewTempServerWithCleanup(t, "testdata/*.tgz*")
if err != nil {
@ -409,6 +411,7 @@ func TestUpdateWithNoRepo(t *testing.T) {
// Parent chart includes local-subchart 0.1.0 subchart from a fake repository, by default.
// If each of these main fields (name, version, repository) is not supplied by dep param, default value will be used.
func checkBuildWithOptionalFields(t *testing.T, chartName string, dep chart.Dependency) {
ensure.HelmHome(t)
// Set up a fake repo
srv, err := repotest.NewTempServerWithCleanup(t, "testdata/*.tgz*")
if err != nil {

@ -16,7 +16,6 @@ limitations under the License.
package rules
import (
"os"
"path/filepath"
"testing"
@ -80,7 +79,6 @@ func TestValidateDependencyInMetadata(t *testing.T) {
func TestDependencies(t *testing.T) {
tmp := ensure.TempDir(t)
defer os.RemoveAll(tmp)
c := chartWithBadDependencies()
err := chartutil.SaveDir(&c, tmp)

@ -222,7 +222,6 @@ func TestDeprecatedAPIFails(t *testing.T) {
},
}
tmpdir := ensure.TempDir(t)
defer os.RemoveAll(tmpdir)
if err := chartutil.SaveDir(&mychart, tmpdir); err != nil {
t.Fatal(err)
@ -279,7 +278,6 @@ func TestStrictTemplateParsingMapError(t *testing.T) {
},
}
dir := ensure.TempDir(t)
defer os.RemoveAll(dir)
if err := chartutil.SaveDir(&ch, dir); err != nil {
t.Fatal(err)
}

@ -67,7 +67,6 @@ func TestValidateValuesFileWellFormed(t *testing.T) {
not:well[]{}formed
`
tmpdir := ensure.TempFile(t, "values.yaml", []byte(badYaml))
defer os.RemoveAll(tmpdir)
valfile := filepath.Join(tmpdir, "values.yaml")
if err := validateValuesFile(valfile, map[string]interface{}{}); err == nil {
t.Fatal("expected values file to fail parsing")
@ -77,7 +76,6 @@ func TestValidateValuesFileWellFormed(t *testing.T) {
func TestValidateValuesFileSchema(t *testing.T) {
yaml := "username: admin\npassword: swordfish"
tmpdir := ensure.TempFile(t, "values.yaml", []byte(yaml))
defer os.RemoveAll(tmpdir)
createTestingSchema(t, tmpdir)
valfile := filepath.Join(tmpdir, "values.yaml")
@ -90,7 +88,6 @@ func TestValidateValuesFileSchemaFailure(t *testing.T) {
// 1234 is an int, not a string. This should fail.
yaml := "username: 1234\npassword: swordfish"
tmpdir := ensure.TempFile(t, "values.yaml", []byte(yaml))
defer os.RemoveAll(tmpdir)
createTestingSchema(t, tmpdir)
valfile := filepath.Join(tmpdir, "values.yaml")
@ -109,7 +106,6 @@ func TestValidateValuesFileSchemaOverrides(t *testing.T) {
"password": "swordfish",
}
tmpdir := ensure.TempFile(t, "values.yaml", []byte(yaml))
defer os.RemoveAll(tmpdir)
createTestingSchema(t, tmpdir)
valfile := filepath.Join(tmpdir, "values.yaml")

@ -79,7 +79,7 @@ func mockArchiveServer() *httptest.Server {
}
func TestHTTPInstaller(t *testing.T) {
defer ensure.HelmHome(t)()
ensure.HelmHome(t)
srv := mockArchiveServer()
defer srv.Close()
@ -128,7 +128,7 @@ func TestHTTPInstaller(t *testing.T) {
}
func TestHTTPInstallerNonExistentVersion(t *testing.T) {
defer ensure.HelmHome(t)()
ensure.HelmHome(t)
srv := mockArchiveServer()
defer srv.Close()
source := srv.URL + "/plugins/fake-plugin-0.0.1.tar.gz"
@ -164,7 +164,7 @@ func TestHTTPInstallerUpdate(t *testing.T) {
srv := mockArchiveServer()
defer srv.Close()
source := srv.URL + "/plugins/fake-plugin-0.0.1.tar.gz"
defer ensure.HelmHome(t)()
ensure.HelmHome(t)
if err := os.MkdirAll(helmpath.DataPath("plugins"), 0755); err != nil {
t.Fatalf("Could not create %s: %s", helmpath.DataPath("plugins"), err)

@ -21,12 +21,14 @@ import (
"path/filepath"
"testing"
"helm.sh/helm/v3/internal/test/ensure"
"helm.sh/helm/v3/pkg/helmpath"
)
var _ Installer = new(LocalInstaller)
func TestLocalInstaller(t *testing.T) {
ensure.HelmHome(t)
// Make a temp dir
tdir := t.TempDir()
if err := ioutil.WriteFile(filepath.Join(tdir, "plugin.yaml"), []byte{}, 0644); err != nil {

@ -49,7 +49,7 @@ func (r *testRepo) UpdateVersion(version string) error {
}
func TestVCSInstaller(t *testing.T) {
defer ensure.HelmHome(t)()
ensure.HelmHome(t)
if err := os.MkdirAll(helmpath.DataPath("plugins"), 0755); err != nil {
t.Fatalf("Could not create %s: %s", helmpath.DataPath("plugins"), err)
@ -102,7 +102,7 @@ func TestVCSInstaller(t *testing.T) {
}
func TestVCSInstallerNonExistentVersion(t *testing.T) {
defer ensure.HelmHome(t)()
ensure.HelmHome(t)
source := "https://github.com/adamreese/helm-env"
version := "0.2.0"
@ -124,7 +124,7 @@ func TestVCSInstallerNonExistentVersion(t *testing.T) {
}
}
func TestVCSInstallerUpdate(t *testing.T) {
defer ensure.HelmHome(t)()
ensure.HelmHome(t)
source := "https://github.com/adamreese/helm-env"

@ -31,7 +31,7 @@ import (
// Young'n, in these here parts, we test our tests.
func TestServer(t *testing.T) {
defer ensure.HelmHome(t)()
ensure.HelmHome(t)
rootDir := ensure.TempDir(t)
defer os.RemoveAll(rootDir)
@ -99,7 +99,7 @@ func TestServer(t *testing.T) {
}
func TestNewTempServer(t *testing.T) {
defer ensure.HelmHome(t)()
ensure.HelmHome(t)
srv, err := NewTempServerWithCleanup(t, "testdata/examplechart-0.1.0.tgz")
if err != nil {

Loading…
Cancel
Save