|
@@ -2,6 +2,7 @@ package config // import "github.com/docker/docker/daemon/config"
|
|
|
|
|
|
import (
|
|
import (
|
|
"os"
|
|
"os"
|
|
|
|
+ "path/filepath"
|
|
"reflect"
|
|
"reflect"
|
|
"strings"
|
|
"strings"
|
|
"testing"
|
|
"testing"
|
|
@@ -35,6 +36,20 @@ func TestDaemonBrokenConfiguration(t *testing.T) {
|
|
assert.ErrorContains(t, err, `invalid character ' ' in literal true`)
|
|
assert.ErrorContains(t, err, `invalid character ' ' in literal true`)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+// TestDaemonConfigurationWithBOM ensures that the UTF-8 byte order mark is ignored when reading the configuration file.
|
|
|
|
+func TestDaemonConfigurationWithBOM(t *testing.T) {
|
|
|
|
+ configFile := filepath.Join(t.TempDir(), "daemon.json")
|
|
|
|
+
|
|
|
|
+ f, err := os.Create(configFile)
|
|
|
|
+ assert.NilError(t, err)
|
|
|
|
+
|
|
|
|
+ f.Write([]byte("\xef\xbb\xbf{\"debug\": true}"))
|
|
|
|
+ f.Close()
|
|
|
|
+
|
|
|
|
+ _, err = MergeDaemonConfigurations(&Config{}, nil, configFile)
|
|
|
|
+ assert.NilError(t, err)
|
|
|
|
+}
|
|
|
|
+
|
|
func TestFindConfigurationConflicts(t *testing.T) {
|
|
func TestFindConfigurationConflicts(t *testing.T) {
|
|
config := map[string]interface{}{"authorization-plugins": "foobar"}
|
|
config := map[string]interface{}{"authorization-plugins": "foobar"}
|
|
flags := pflag.NewFlagSet("test", pflag.ContinueOnError)
|
|
flags := pflag.NewFlagSet("test", pflag.ContinueOnError)
|