Allow Fs tests to declare new config items

This commit is contained in:
Nick Craig-Wood 2016-08-20 16:25:14 +01:00
parent 9985fc40f4
commit b4b4b6cb1c

View file

@ -31,7 +31,9 @@ var (
subRemoteLeaf = "" subRemoteLeaf = ""
// NilObject should be set to a nil Object from the Fs under test // NilObject should be set to a nil Object from the Fs under test
NilObject fs.Object NilObject fs.Object
file1 = fstest.Item{ // ExtraConfig is for adding config to a remote
ExtraConfig = []ExtraConfigItem{}
file1 = fstest.Item{
ModTime: fstest.Time("2001-02-03T04:05:06.499999999Z"), ModTime: fstest.Time("2001-02-03T04:05:06.499999999Z"),
Path: "file name.txt", Path: "file name.txt",
} }
@ -45,6 +47,9 @@ var (
dumpBodies = flag.Bool("dump-bodies", false, "Dump HTTP headers and bodies - may contain sensitive info") dumpBodies = flag.Bool("dump-bodies", false, "Dump HTTP headers and bodies - may contain sensitive info")
) )
// ExtraConfigItem describes a config item added on the fly while testing
type ExtraConfigItem struct{ Name, Key, Value string }
const eventualConsistencyRetries = 10 const eventualConsistencyRetries = 10
func init() { func init() {
@ -60,6 +65,10 @@ func TestInit(t *testing.T) {
// "RCLONE_CONFIG_PASS=hunter2" (or your password) // "RCLONE_CONFIG_PASS=hunter2" (or your password)
*fs.AskPassword = false *fs.AskPassword = false
fs.LoadConfig() fs.LoadConfig()
// Set extra config if supplied
for _, item := range ExtraConfig {
fs.ConfigFile.SetValue(item.Name, item.Key, item.Value)
}
fs.Config.Verbose = *verbose fs.Config.Verbose = *verbose
fs.Config.Quiet = !*verbose fs.Config.Quiet = !*verbose
fs.Config.DumpHeaders = *dumpHeaders fs.Config.DumpHeaders = *dumpHeaders