mirror of https://github.com/k3s-io/k3s
commit
1d4a9e88e0
|
@ -113,6 +113,8 @@ func (config *DirectClientConfig) ClientConfig() (*client.Config, error) {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
// mergo is a first write wins for map value and a last writing wins for interface values
|
// mergo is a first write wins for map value and a last writing wins for interface values
|
||||||
|
// NOTE: This behavior changed with https://github.com/imdario/mergo/commit/d304790b2ed594794496464fadd89d2bb266600a.
|
||||||
|
// Our mergo.Merge version is older than this change.
|
||||||
userAuthPartialConfig, err := getUserIdentificationPartialConfig(configAuthInfo, config.fallbackReader)
|
userAuthPartialConfig, err := getUserIdentificationPartialConfig(configAuthInfo, config.fallbackReader)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
|
@ -20,11 +20,30 @@ import (
|
||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/imdario/mergo"
|
||||||
"k8s.io/kubernetes/pkg/api/testapi"
|
"k8s.io/kubernetes/pkg/api/testapi"
|
||||||
client "k8s.io/kubernetes/pkg/client/unversioned"
|
client "k8s.io/kubernetes/pkg/client/unversioned"
|
||||||
clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api"
|
clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func TestOldMergoLib(t *testing.T) {
|
||||||
|
type T struct {
|
||||||
|
X string
|
||||||
|
}
|
||||||
|
dst := T{X: "one"}
|
||||||
|
src := T{X: "two"}
|
||||||
|
mergo.Merge(&dst, &src)
|
||||||
|
if dst.X != "two" {
|
||||||
|
// mergo.Merge changed in an incompatible way with
|
||||||
|
//
|
||||||
|
// https://github.com/imdario/mergo/commit/d304790b2ed594794496464fadd89d2bb266600a
|
||||||
|
//
|
||||||
|
// We have to stay with the old version which still does eager
|
||||||
|
// copying from src to dst in structs.
|
||||||
|
t.Errorf("mergo.Merge library found with incompatible, new behavior")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func createValidTestConfig() *clientcmdapi.Config {
|
func createValidTestConfig() *clientcmdapi.Config {
|
||||||
const (
|
const (
|
||||||
server = "https://anything.com:8080"
|
server = "https://anything.com:8080"
|
||||||
|
|
Loading…
Reference in New Issue