From 99908b914d19c0147944523389bbb253bda84db5 Mon Sep 17 00:00:00 2001 From: Keepers Date: Tue, 23 Aug 2022 11:13:07 -0600 Subject: [PATCH] propagate test cache dir in cli integration tests (#634) --- src/cli/cli.go | 2 +- src/cli/config/config.go | 2 +- src/cli/config/storage.go | 8 ++++++++ src/internal/tester/config.go | 1 + 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/cli/cli.go b/src/cli/cli.go index 0d55c7738..2839b9deb 100644 --- a/src/cli/cli.go +++ b/src/cli/cli.go @@ -57,7 +57,7 @@ func CorsoCommand() *cobra.Command { func BuildCommandTree(cmd *cobra.Command) { cmd.Flags().BoolP("version", "v", version, "current version info") cmd.PersistentPostRunE = config.InitFunc() - config.AddConfigFileFlag(cmd) + config.AddConfigFlags(cmd) print.AddOutputFlag(cmd) logger.AddLogLevelFlag(cmd) diff --git a/src/cli/config/config.go b/src/cli/config/config.go index 8bcd971dc..19cd3ef28 100644 --- a/src/cli/config/config.go +++ b/src/cli/config/config.go @@ -32,7 +32,7 @@ const ( var configFilePath string // adds the persistent flag --config-file to the provided command. -func AddConfigFileFlag(cmd *cobra.Command) { +func AddConfigFlags(cmd *cobra.Command) { fs := cmd.PersistentFlags() homeDir, err := os.UserHomeDir() if err != nil { diff --git a/src/cli/config/storage.go b/src/cli/config/storage.go index cf7ddae08..6025236c8 100644 --- a/src/cli/config/storage.go +++ b/src/cli/config/storage.go @@ -2,6 +2,7 @@ package config import ( "os" + "path/filepath" "github.com/pkg/errors" "github.com/spf13/viper" @@ -80,6 +81,13 @@ func configureStorage( cCfg := storage.CommonConfig{ Corso: corso, } + // the following is a hack purely for integration testing. + // the value is not required, and if empty, kopia will default + // to its routine behavior + if t, ok := vpr.Get("corso-testing").(bool); t && ok { + dir, _ := filepath.Split(vpr.ConfigFileUsed()) + cCfg.KopiaCfgDir = dir + } // ensure required properties are present if err := utils.RequireProps(map[string]string{ diff --git a/src/internal/tester/config.go b/src/internal/tester/config.go index 213483af2..b63c97107 100644 --- a/src/internal/tester/config.go +++ b/src/internal/tester/config.go @@ -143,6 +143,7 @@ func MakeTempTestConfigClone(t *testing.T, overrides map[string]string) (*viper. vpr.AddConfigPath(tDir) vpr.SetConfigType(strings.TrimPrefix(ext, ".")) vpr.SetConfigName(strings.TrimSuffix(fName, ext)) + vpr.Set("corso-testing", true) for k, v := range cfg { vpr.Set(k, v)