diff --git a/cmd/helm/package.go b/cmd/helm/package.go index 4076128c1..196d9b6e0 100644 --- a/cmd/helm/package.go +++ b/cmd/helm/package.go @@ -76,8 +76,7 @@ func newPackageCmd(out io.Writer) *cobra.Command { if err != nil { return err } - if _, err := os.Stat(path); os.IsNotExist(err) { - _, err := os.Stat(args[i]) + if _, err := os.Stat(args[i]); err != nil { return err } diff --git a/cmd/helm/package_test.go b/cmd/helm/package_test.go index 8f38a239c..c7b9cf637 100644 --- a/cmd/helm/package_test.go +++ b/cmd/helm/package_test.go @@ -296,8 +296,10 @@ func TestPackageValues(t *testing.T) { } } -func TestNonExistentDir(t *testing.T) { +func TestNonExistentDirAndBadPermission(t *testing.T) { nonExistentDir := "testdata/testcharts/non-existent-directory" + badPermissionChart := "testdata/testcharts/chart-with-bad-permission/chart-dir" + tests := []struct { name string flags map[string]string @@ -312,6 +314,12 @@ func TestNonExistentDir(t *testing.T) { expect: fmt.Sprintf("stat %s: no such file or directory", nonExistentDir), err: true, }, + { + name: "package testdata/testcharts/non-existent-directory", + args: []string{"testdata/testcharts/chart-with-bad-permission/chart-dir"}, + expect: fmt.Sprintf("stat %s: permission denied", badPermissionChart), + err: true, + }, } for _, tt := range tests {