Merge pull request #71923 from apelisse/fix-diff-overriding-names

diff: Fix overlapping filenames
pull/564/head
Kubernetes Prow Robot 2018-12-11 12:13:39 -08:00 committed by GitHub
commit 425b1ff47d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 62 additions and 1 deletions

4
hack/testdata/diff/configmap.yaml vendored Normal file
View File

@ -0,0 +1,4 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: test

17
hack/testdata/diff/deployment.yaml vendored Normal file
View File

@ -0,0 +1,17 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: test
spec:
replicas: 3
selector:
matchLabels:
name: test
template:
metadata:
labels:
name: test
spec:
containers:
- name: nginx
image: nginx

8
hack/testdata/diff/pod.yaml vendored Normal file
View File

@ -0,0 +1,8 @@
apiVersion: v1
kind: Pod
metadata:
name: test
spec:
containers:
- name: nginx
image: nginx

4
hack/testdata/diff/secret.yaml vendored Normal file
View File

@ -0,0 +1,4 @@
apiVersion: v1
kind: Secret
metadata:
name: test

View File

@ -289,7 +289,17 @@ func (obj InfoObject) Merged() (runtime.Object, error) {
}
func (obj InfoObject) Name() string {
return obj.Info.Name
group := ""
if obj.Info.Mapping.GroupVersionKind.Group != "" {
group = fmt.Sprintf("%v.", obj.Info.Mapping.GroupVersionKind.Group)
}
return group + fmt.Sprintf(
"%v.%v:%v.%v",
obj.Info.Mapping.GroupVersionKind.Version,
obj.Info.Mapping.GroupVersionKind.Kind,
obj.Info.Namespace,
obj.Info.Name,
)
}
// Differ creates two DiffVersion and diffs them.

View File

@ -40,3 +40,20 @@ run_kubectl_diff_tests() {
set +o nounset
set +o errexit
}
run_kubectl_diff_same_names() {
set -o nounset
set -o errexit
create_and_use_new_namespace
kube::log::status "Test kubectl diff with multiple resources with the same name"
output_message=$(KUBECTL_EXTERNAL_DIFF=find kubectl diff -Rf hack/testdata/diff/)
kube::test::if_has_string "${output_message}" 'v1.Pod:.*.test'
kube::test::if_has_string "${output_message}" 'apps.v1.Deployment:.*.test'
kube::test::if_has_string "${output_message}" 'v1.ConfigMap:.*.test'
kube::test::if_has_string "${output_message}" 'v1.Secret:.*.test'
set +o nounset
set +o errexit
}

View File

@ -473,6 +473,7 @@ runTests() {
# Kubectl diff #
################
record_command run_kubectl_diff_tests
record_command run_kubectl_diff_same_names
###############
# Kubectl get #