Replaces path.Operation with filepath.Operation (staging)

The path module has a few different functions:
Clean, Split, Join, Ext, Dir, Base, IsAbs. These functions do not
take into account the OS-specific path separator, meaning that they
won't behave as intended on Windows.

For example, Dir is supposed to return all but the last element of the
path. For the path "C:\some\dir\somewhere", it is supposed to return
"C:\some\dir\", however, it returns ".".

Instead of these functions, the ones in filepath should be used instead.

Kubernetes-commit: 856bb5c8f266f5276f1a576f47be622d7cb384e7
This commit is contained in:
Claudiu Belu 2022-06-15 15:17:24 +03:00 committed by Kubernetes Publisher
parent 3407442ff2
commit 79c893df5a
3 changed files with 12 additions and 15 deletions

View File

@ -21,7 +21,6 @@ import (
"errors" "errors"
"fmt" "fmt"
"os" "os"
"path"
"path/filepath" "path/filepath"
"reflect" "reflect"
"strings" "strings"
@ -115,7 +114,7 @@ func ShortenConfig(config *Config) {
// FlattenConfig changes the config object into a self-contained config (useful for making secrets) // FlattenConfig changes the config object into a self-contained config (useful for making secrets)
func FlattenConfig(config *Config) error { func FlattenConfig(config *Config) error {
for key, authInfo := range config.AuthInfos { for key, authInfo := range config.AuthInfos {
baseDir, err := MakeAbs(path.Dir(authInfo.LocationOfOrigin), "") baseDir, err := MakeAbs(filepath.Dir(authInfo.LocationOfOrigin), "")
if err != nil { if err != nil {
return err return err
} }
@ -130,7 +129,7 @@ func FlattenConfig(config *Config) error {
config.AuthInfos[key] = authInfo config.AuthInfos[key] = authInfo
} }
for key, cluster := range config.Clusters { for key, cluster := range config.Clusters {
baseDir, err := MakeAbs(path.Dir(cluster.LocationOfOrigin), "") baseDir, err := MakeAbs(filepath.Dir(cluster.LocationOfOrigin), "")
if err != nil { if err != nil {
return err return err
} }

View File

@ -19,7 +19,6 @@ package clientcmd
import ( import (
"errors" "errors"
"os" "os"
"path"
"path/filepath" "path/filepath"
"reflect" "reflect"
"sort" "sort"
@ -148,7 +147,7 @@ func NewDefaultPathOptions() *PathOptions {
EnvVar: RecommendedConfigPathEnvVar, EnvVar: RecommendedConfigPathEnvVar,
ExplicitFileFlag: RecommendedConfigPathFlag, ExplicitFileFlag: RecommendedConfigPathFlag,
GlobalFileSubpath: path.Join(RecommendedHomeDir, RecommendedFileName), GlobalFileSubpath: filepath.Join(RecommendedHomeDir, RecommendedFileName),
LoadingRules: NewDefaultClientConfigLoadingRules(), LoadingRules: NewDefaultClientConfigLoadingRules(),
} }

View File

@ -21,7 +21,6 @@ import (
"flag" "flag"
"fmt" "fmt"
"os" "os"
"path"
"path/filepath" "path/filepath"
"reflect" "reflect"
"strings" "strings"
@ -539,13 +538,13 @@ func TestResolveRelativePaths(t *testing.T) {
configDir1, _ := os.MkdirTemp("", "") configDir1, _ := os.MkdirTemp("", "")
defer os.RemoveAll(configDir1) defer os.RemoveAll(configDir1)
configFile1 := path.Join(configDir1, ".kubeconfig") configFile1 := filepath.Join(configDir1, ".kubeconfig")
configDir1, _ = filepath.Abs(configDir1) configDir1, _ = filepath.Abs(configDir1)
configDir2, _ := os.MkdirTemp("", "") configDir2, _ := os.MkdirTemp("", "")
defer os.RemoveAll(configDir2) defer os.RemoveAll(configDir2)
configDir2, _ = os.MkdirTemp(configDir2, "") configDir2, _ = os.MkdirTemp(configDir2, "")
configFile2 := path.Join(configDir2, ".kubeconfig") configFile2 := filepath.Join(configDir2, ".kubeconfig")
configDir2, _ = filepath.Abs(configDir2) configDir2, _ = filepath.Abs(configDir2)
WriteToFile(pathResolutionConfig1, configFile1) WriteToFile(pathResolutionConfig1, configFile1)
@ -564,11 +563,11 @@ func TestResolveRelativePaths(t *testing.T) {
for key, cluster := range mergedConfig.Clusters { for key, cluster := range mergedConfig.Clusters {
if key == "relative-server-1" { if key == "relative-server-1" {
foundClusterCount++ foundClusterCount++
matchStringArg(path.Join(configDir1, pathResolutionConfig1.Clusters["relative-server-1"].CertificateAuthority), cluster.CertificateAuthority, t) matchStringArg(filepath.Join(configDir1, pathResolutionConfig1.Clusters["relative-server-1"].CertificateAuthority), cluster.CertificateAuthority, t)
} }
if key == "relative-server-2" { if key == "relative-server-2" {
foundClusterCount++ foundClusterCount++
matchStringArg(path.Join(configDir2, pathResolutionConfig2.Clusters["relative-server-2"].CertificateAuthority), cluster.CertificateAuthority, t) matchStringArg(filepath.Join(configDir2, pathResolutionConfig2.Clusters["relative-server-2"].CertificateAuthority), cluster.CertificateAuthority, t)
} }
if key == "absolute-server-1" { if key == "absolute-server-1" {
foundClusterCount++ foundClusterCount++
@ -587,13 +586,13 @@ func TestResolveRelativePaths(t *testing.T) {
for key, authInfo := range mergedConfig.AuthInfos { for key, authInfo := range mergedConfig.AuthInfos {
if key == "relative-user-1" { if key == "relative-user-1" {
foundAuthInfoCount++ foundAuthInfoCount++
matchStringArg(path.Join(configDir1, pathResolutionConfig1.AuthInfos["relative-user-1"].ClientCertificate), authInfo.ClientCertificate, t) matchStringArg(filepath.Join(configDir1, pathResolutionConfig1.AuthInfos["relative-user-1"].ClientCertificate), authInfo.ClientCertificate, t)
matchStringArg(path.Join(configDir1, pathResolutionConfig1.AuthInfos["relative-user-1"].ClientKey), authInfo.ClientKey, t) matchStringArg(filepath.Join(configDir1, pathResolutionConfig1.AuthInfos["relative-user-1"].ClientKey), authInfo.ClientKey, t)
} }
if key == "relative-user-2" { if key == "relative-user-2" {
foundAuthInfoCount++ foundAuthInfoCount++
matchStringArg(path.Join(configDir2, pathResolutionConfig2.AuthInfos["relative-user-2"].ClientCertificate), authInfo.ClientCertificate, t) matchStringArg(filepath.Join(configDir2, pathResolutionConfig2.AuthInfos["relative-user-2"].ClientCertificate), authInfo.ClientCertificate, t)
matchStringArg(path.Join(configDir2, pathResolutionConfig2.AuthInfos["relative-user-2"].ClientKey), authInfo.ClientKey, t) matchStringArg(filepath.Join(configDir2, pathResolutionConfig2.AuthInfos["relative-user-2"].ClientKey), authInfo.ClientKey, t)
} }
if key == "absolute-user-1" { if key == "absolute-user-1" {
foundAuthInfoCount++ foundAuthInfoCount++
@ -607,7 +606,7 @@ func TestResolveRelativePaths(t *testing.T) {
} }
if key == "relative-cmd-1" { if key == "relative-cmd-1" {
foundAuthInfoCount++ foundAuthInfoCount++
matchStringArg(path.Join(configDir1, pathResolutionConfig1.AuthInfos[key].Exec.Command), authInfo.Exec.Command, t) matchStringArg(filepath.Join(configDir1, pathResolutionConfig1.AuthInfos[key].Exec.Command), authInfo.Exec.Command, t)
} }
if key == "absolute-cmd-1" { if key == "absolute-cmd-1" {
foundAuthInfoCount++ foundAuthInfoCount++