@@ -19,7 +19,6 @@ package merge_test
19
19
import (
20
20
"io/ioutil"
21
21
"path/filepath"
22
- "strings"
23
22
"testing"
24
23
25
24
. "sigs.k8s.io/structured-merge-diff/v4/internal/fixture"
@@ -38,11 +37,7 @@ func read(file string) []byte {
38
37
return s
39
38
}
40
39
41
- func lastPart (s string ) string {
42
- return s [strings .LastIndex (s , "." )+ 1 :]
43
- }
44
-
45
- var parser = func () Parser {
40
+ var k8s = func () Parser {
46
41
s := read (testdata ("k8s-schema.yaml" ))
47
42
parser , err := typed .NewParser (typed .YAMLObject (s ))
48
43
if err != nil {
@@ -53,29 +48,30 @@ var parser = func() Parser {
53
48
54
49
func BenchmarkOperations (b * testing.B ) {
55
50
benches := []struct {
56
- typename string
57
- obj typed. YAMLObject
51
+ parseType typed. ParseableType
52
+ filename string
58
53
}{
59
54
{
60
- typename : "io.k8s.api.core.v1.Pod" ,
61
- obj : typed . YAMLObject ( read ( testdata ( "pod.yaml" ))) ,
55
+ parseType : k8s . Type ( "io.k8s.api.core.v1.Pod" ) ,
56
+ filename : "pod.yaml" ,
62
57
},
63
58
{
64
- typename : "io.k8s.api.core.v1.Node" ,
65
- obj : typed . YAMLObject ( read ( testdata ( "node.yaml" ))) ,
59
+ parseType : k8s . Type ( "io.k8s.api.core.v1.Node" ) ,
60
+ filename : "node.yaml" ,
66
61
},
67
62
{
68
- typename : "io.k8s.api.core.v1.Endpoints" ,
69
- obj : typed . YAMLObject ( read ( testdata ( "endpoints.yaml" ))) ,
63
+ parseType : k8s . Type ( "io.k8s.api.core.v1.Endpoints" ) ,
64
+ filename : "endpoints.yaml" ,
70
65
},
71
66
{
72
- typename : "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition" ,
73
- obj : typed . YAMLObject ( read ( testdata ( "prometheus-crd.yaml" ))) ,
67
+ parseType : k8s . Type ( "io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition" ) ,
68
+ filename : "prometheus-crd.yaml" ,
74
69
},
75
70
}
76
71
77
72
for _ , bench := range benches {
78
- b .Run (lastPart (bench .typename ), func (b * testing.B ) {
73
+ b .Run (bench .filename , func (b * testing.B ) {
74
+ obj := typed .YAMLObject (read (testdata (bench .filename )))
79
75
tests := []struct {
80
76
name string
81
77
ops []Operation
@@ -86,7 +82,7 @@ func BenchmarkOperations(b *testing.B) {
86
82
Update {
87
83
Manager : "controller" ,
88
84
APIVersion : "v1" ,
89
- Object : bench . obj ,
85
+ Object : obj ,
90
86
},
91
87
},
92
88
},
@@ -96,7 +92,7 @@ func BenchmarkOperations(b *testing.B) {
96
92
Apply {
97
93
Manager : "controller" ,
98
94
APIVersion : "v1" ,
99
- Object : bench . obj ,
95
+ Object : obj ,
100
96
},
101
97
},
102
98
},
@@ -106,12 +102,12 @@ func BenchmarkOperations(b *testing.B) {
106
102
Apply {
107
103
Manager : "controller" ,
108
104
APIVersion : "v1" ,
109
- Object : bench . obj ,
105
+ Object : obj ,
110
106
},
111
107
Apply {
112
108
Manager : "other-controller" ,
113
109
APIVersion : "v1" ,
114
- Object : bench . obj ,
110
+ Object : obj ,
115
111
},
116
112
},
117
113
},
@@ -121,12 +117,12 @@ func BenchmarkOperations(b *testing.B) {
121
117
Update {
122
118
Manager : "controller" ,
123
119
APIVersion : "v1" ,
124
- Object : bench . obj ,
120
+ Object : obj ,
125
121
},
126
122
Update {
127
123
Manager : "other-controller" ,
128
124
APIVersion : "v1" ,
129
- Object : bench . obj ,
125
+ Object : obj ,
130
126
},
131
127
},
132
128
},
@@ -136,12 +132,12 @@ func BenchmarkOperations(b *testing.B) {
136
132
Update {
137
133
Manager : "controller" ,
138
134
APIVersion : "v1" ,
139
- Object : bench . obj ,
135
+ Object : obj ,
140
136
},
141
137
Update {
142
138
Manager : "other-controller" ,
143
139
APIVersion : "v2" ,
144
- Object : bench . obj ,
140
+ Object : obj ,
145
141
},
146
142
},
147
143
},
@@ -151,7 +147,7 @@ func BenchmarkOperations(b *testing.B) {
151
147
tc := TestCase {
152
148
Ops : test .ops ,
153
149
}
154
- p := SameVersionParser {T : parser . Type ( bench .typename ) }
150
+ p := SameVersionParser {T : bench .parseType }
155
151
tc .PreprocessOperations (p )
156
152
157
153
b .ReportAllocs ()
0 commit comments