From 49072162b1d0ec1e9c209eff95651bf767837e03 Mon Sep 17 00:00:00 2001 From: James Carnegie Date: Tue, 19 Dec 2023 20:38:06 +0000 Subject: [PATCH] Fix os separator paths --- examples/cli/tuf-client/cmd/get.go | 2 +- examples/cli/tuf-client/cmd/init.go | 2 +- metadata/updater/updater.go | 2 +- metadata/updater/updater_top_level_update_test.go | 11 ++++++----- testutils/testutils/setup.go | 4 ++-- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/examples/cli/tuf-client/cmd/get.go b/examples/cli/tuf-client/cmd/get.go index 57f28927..f7dedf22 100644 --- a/examples/cli/tuf-client/cmd/get.go +++ b/examples/cli/tuf-client/cmd/get.go @@ -151,7 +151,7 @@ func verifyEnv() (*localConfig, error) { return nil, fmt.Errorf("no local download folder: %w", err) } // verify there's a local root.json available for bootstrapping trust - _, err = os.Stat(fmt.Sprintf("%s/%s.json", env.MetadataDir, metadata.ROOT)) + _, err = os.Stat(filepath.Join(env.MetadataDir, fmt.Sprintf("%s.json", metadata.ROOT))) if err != nil { return nil, fmt.Errorf("no local download folder: %w", err) } diff --git a/examples/cli/tuf-client/cmd/init.go b/examples/cli/tuf-client/cmd/init.go index 96e975a0..fbe62497 100644 --- a/examples/cli/tuf-client/cmd/init.go +++ b/examples/cli/tuf-client/cmd/init.go @@ -69,7 +69,7 @@ func InitializeCmd() error { if err != nil { return err } - rootPath = fmt.Sprintf("%s/%s.json", rootPath, metadata.ROOT) + rootPath = filepath.Join(rootPath, fmt.Sprintf("%s.json", metadata.ROOT)) // no need to copy root.json to the metadata folder as we already download it in the expected location copyTrusted = false } diff --git a/metadata/updater/updater.go b/metadata/updater/updater.go index bcde759d..20c84c54 100644 --- a/metadata/updater/updater.go +++ b/metadata/updater/updater.go @@ -232,7 +232,7 @@ func (update *Updater) DownloadTarget(targetFile *metadata.TargetFiles, filePath targetFilePath = fmt.Sprintf("%s.%s", hashes, dirName) } else { // /. - targetFilePath = fmt.Sprintf("%s/%s.%s", dirName, hashes, baseName) + targetFilePath = filepath.Join(dirName, hashes, fmt.Sprintf(".%s", baseName)) } } fullURL := fmt.Sprintf("%s%s", targetBaseURL, targetFilePath) diff --git a/metadata/updater/updater_top_level_update_test.go b/metadata/updater/updater_top_level_update_test.go index 922bdb23..68d4d093 100644 --- a/metadata/updater/updater_top_level_update_test.go +++ b/metadata/updater/updater_top_level_update_test.go @@ -14,6 +14,7 @@ package updater import ( "fmt" "os" + "path/filepath" "testing" "time" @@ -83,7 +84,7 @@ func runRefresh(updaterConfig *config.UpdaterConfig, moveInTime time.Time) (Upda updater, err := New(updaterConfig) if err != nil { - log.Errorf("failed to create new updater config: %v", err) + log.Debugf("failed to create new updater config: %v", err) return Updater{}, err } if moveInTime != time.Now() { @@ -147,13 +148,13 @@ func assertContentEquals(t *testing.T, role string, version *int) { expectedContent, err := simulator.Sim.FetchMetadata(role, version) assert.NoError(t, err) - content, err := os.ReadFile(fmt.Sprintf("%s/%s.json", simulator.MetadataDir, role)) + content, err := os.ReadFile(filepath.Join(simulator.MetadataDir, fmt.Sprintf("%s.json", role))) assert.NoError(t, err) assert.Equal(t, string(expectedContent), string(content)) } func assertVersionEquals(t *testing.T, role string, expectedVersion int64) { - path := fmt.Sprintf("%s/%s.json", simulator.MetadataDir, role) + path := filepath.Join(simulator.MetadataDir, fmt.Sprintf("%s.json", role)) switch role { case metadata.ROOT: md, err := simulator.Sim.MDRoot.FromFile(path) @@ -347,7 +348,7 @@ func TestTrustedRootUnsigned(t *testing.T) { err := loadOrResetTrustedRootMetadata() assert.NoError(t, err) - rootPath := fmt.Sprintf("%s/%s.json", simulator.MetadataDir, metadata.ROOT) + rootPath := filepath.Join(simulator.MetadataDir, fmt.Sprintf("%s.json", metadata.ROOT)) mdRoot, err := simulator.Sim.MDRoot.FromFile(rootPath) assert.NoError(t, err) @@ -388,7 +389,7 @@ func TestMaxRootRotations(t *testing.T) { simulator.Sim.PublishRoot() } - rootPath := fmt.Sprintf("%s/%s.json", simulator.MetadataDir, metadata.ROOT) + rootPath := filepath.Join(simulator.MetadataDir, fmt.Sprintf("%s.json", metadata.ROOT)) mdRoot, err := simulator.Sim.MDRoot.FromFile(rootPath) assert.NoError(t, err) initialRootVersion := mdRoot.Signed.Version diff --git a/testutils/testutils/setup.go b/testutils/testutils/setup.go index dfd71a1b..9e36e057 100644 --- a/testutils/testutils/setup.go +++ b/testutils/testutils/setup.go @@ -80,11 +80,11 @@ func Copy(fromPath string, toPath string) error { return fmt.Errorf("failed to read path %s: %w", fromPath, err) } for _, file := range files { - data, err := os.ReadFile(fmt.Sprintf("%s/%s", fromPath, file.Name())) + data, err := os.ReadFile(filepath.Join(fromPath, file.Name())) if err != nil { return fmt.Errorf("failed to read file %s: %w", file.Name(), err) } - filePath := fmt.Sprintf("%s/%s", toPath, file.Name()) + filePath := filepath.Join(toPath, file.Name()) err = os.WriteFile(filePath, data, 0750) if err != nil { return fmt.Errorf("failed to write file %s: %w", filePath, err)