@@ -71,6 +71,19 @@ func binExt() string {
71
71
return ""
72
72
}
73
73
74
+ // Run command, assert it succeeds, return its output
75
+ func assertCommand (t * testing.T , exe string , args ... string ) []byte {
76
+ cmd := exec .Command (exe , args ... )
77
+ output , err := cmd .CombinedOutput ()
78
+ assert .NilError (t , err , string (output ))
79
+ return output
80
+ }
81
+
82
+ func assertCommandOutput (t * testing.T , goldenFile string , cmd string , args ... string ) {
83
+ output := assertCommand (t , cmd , args ... )
84
+ golden .Assert (t , string (output ), goldenFile )
85
+ }
86
+
74
87
func TestRenderBinary (t * testing.T ) {
75
88
getBinary (t )
76
89
apps , err := ioutil .ReadDir ("render" )
@@ -151,12 +164,7 @@ targets:
151
164
"-m" , "bob" ,
152
165
153
166
}
154
- cmd := exec .Command (dockerApp , args ... )
155
- output , err := cmd .CombinedOutput ()
156
- if err != nil {
157
- fmt .Println (output )
158
- }
159
- assert .NilError (t , err )
167
+ assertCommand (t , dockerApp , args ... )
160
168
manifest := fs .Expected (
161
169
t ,
162
170
fs .WithMode (0755 ),
@@ -179,26 +187,15 @@ targets:
179
187
180
188
"-s" ,
181
189
}
182
- cmd = exec .Command (dockerApp , args ... )
183
- output , err = cmd .CombinedOutput ()
184
- if err != nil {
185
- fmt .Println (string (output ))
186
- }
187
- assert .NilError (t , err )
190
+ assertCommand (t , dockerApp , args ... )
188
191
defer os .Remove ("tac.dockerapp" )
189
192
appData , _ := ioutil .ReadFile ("tac.dockerapp" )
190
193
golden .Assert (t , string (appData ), "init-singlefile.dockerapp" )
191
194
}
192
195
193
196
func TestInspectBinary (t * testing.T ) {
194
197
dockerApp , _ := getBinary (t )
195
- cmd := exec .Command (dockerApp , "inspect" , "render/envvariables" )
196
- output , err := cmd .CombinedOutput ()
197
- if err != nil {
198
- fmt .Println (string (output ))
199
- }
200
- assert .NilError (t , err )
201
- golden .Assert (t , string (output ), "envvariables-inspect.golden" )
198
+ assertCommandOutput (t , "envvariables-inspect.golden" , dockerApp , "inspect" , "render/envvariables" )
202
199
}
203
200
204
201
func TestPackBinary (t * testing.T ) {
@@ -235,12 +232,7 @@ func TestPackBinary(t *testing.T) {
235
232
236
233
func TestHelmBinary (t * testing.T ) {
237
234
dockerApp , _ := getBinary (t )
238
- cmd := exec .Command (dockerApp , "helm" , "helm" , "-s" , "myapp.nginx_version=2" )
239
- output , err := cmd .CombinedOutput ()
240
- if err != nil {
241
- fmt .Println (string (output ))
242
- }
243
- assert .NilError (t , err )
235
+ assertCommand (t , dockerApp , "helm" , "helm" , "-s" , "myapp.nginx_version=2" )
244
236
chart , _ := ioutil .ReadFile ("helm.chart/Chart.yaml" )
245
237
values , _ := ioutil .ReadFile ("helm.chart/values.yaml" )
246
238
stack , _ := ioutil .ReadFile ("helm.chart/templates/stack.yaml" )
@@ -255,34 +247,12 @@ func TestSplitMergeBinary(t *testing.T) {
255
247
t .Skip ("experimental mode needed for this test" )
256
248
}
257
249
app := "render/envvariables"
258
- cmd := exec .Command (dockerApp , "merge" , app , "-o" , "remerged.dockerapp" )
259
- output , err := cmd .CombinedOutput ()
260
- if err != nil {
261
- fmt .Println (string (output ))
262
- }
263
- assert .NilError (t , err )
250
+ assertCommand (t , dockerApp , "merge" , app , "-o" , "remerged.dockerapp" )
264
251
defer os .Remove ("remerged.dockerapp" )
265
252
// test that inspect works on single-file
266
- cmd = exec .Command (dockerApp , "inspect" , "remerged" )
267
- output , err = cmd .CombinedOutput ()
268
- if err != nil {
269
- fmt .Println (string (output ))
270
- }
271
- assert .NilError (t , err )
272
- golden .Assert (t , string (output ), "envvariables-inspect.golden" )
253
+ assertCommandOutput (t , "envvariables-inspect.golden" , dockerApp , "inspect" , "remerged" )
273
254
// split it
274
- cmd = exec .Command (dockerApp , "split" , "remerged" , "-o" , "splitted.dockerapp" )
275
- output , err = cmd .CombinedOutput ()
276
- if err != nil {
277
- fmt .Println (string (output ))
278
- }
279
- assert .NilError (t , err )
255
+ assertCommand (t , dockerApp , "split" , "remerged" , "-o" , "splitted.dockerapp" )
280
256
defer os .RemoveAll ("splitted.dockerapp" )
281
- cmd = exec .Command (dockerApp , "inspect" , "splitted" )
282
- output , err = cmd .CombinedOutput ()
283
- if err != nil {
284
- fmt .Println (string (output ))
285
- }
286
- assert .NilError (t , err )
287
- golden .Assert (t , string (output ), "envvariables-inspect.golden" )
257
+ assertCommandOutput (t , "envvariables-inspect.golden" , dockerApp , "inspect" , "splitted" )
288
258
}
0 commit comments