@@ -67,18 +67,14 @@ func checkFilenameFlag(_ []string) error {
6767 return nil
6868 }
6969 }
70- return errors .New ("Please include --types=file with the --filename flag" )
70+ return errors .New ("please include --types=file with the --filename flag" )
7171}
7272
7373func processImage (imageName string , imageMap map [string ]* pkgutil.Image , wg * sync.WaitGroup , errChan chan <- error ) {
7474 defer wg .Done ()
7575 image , err := getImageForName (imageName )
76- if image .Image == nil {
77- errChan <- fmt .Errorf ("error retrieving image %s: %s" , imageName , err .Error ())
78- return
79- }
8076 if err != nil {
81- logrus . Warningf ( "diff may be inaccurate : %s" , err )
77+ errChan <- fmt . Errorf ( "error retrieving image %s : %s", imageName , err )
8278 }
8379 imageMap [imageName ] = & image
8480}
@@ -103,6 +99,11 @@ func diffImages(image1Arg, image2Arg string, diffArgs []string) error {
10399 wg .Wait ()
104100 close (errChan )
105101
102+ if noCache && ! save {
103+ defer pkgutil .CleanupImage (* imageMap [image1Arg ])
104+ defer pkgutil .CleanupImage (* imageMap [image2Arg ])
105+ }
106+
106107 errs := []string {}
107108 for {
108109 err , ok := <- errChan
@@ -116,28 +117,14 @@ func diffImages(image1Arg, image2Arg string, diffArgs []string) error {
116117 return errors .New (strings .Join (errs , "\n " ))
117118 }
118119
119- img1 , ok := imageMap [image1Arg ]
120- if ! ok {
121- return fmt .Errorf ("cannot find image %s" , image1Arg )
122- }
123- img2 , ok := imageMap [image2Arg ]
124- if ! ok {
125- return fmt .Errorf ("cannot find image %s" , image2Arg )
126- }
127-
128- if noCache && ! save {
129- defer pkgutil .CleanupImage (* imageMap [image1Arg ])
130- defer pkgutil .CleanupImage (* imageMap [image2Arg ])
131- }
132-
133120 logrus .Info ("computing diffs" )
134121 req := differs.DiffRequest {
135- Image1 : * img1 ,
136- Image2 : * img2 ,
122+ Image1 : * imageMap [ image1Arg ] ,
123+ Image2 : * imageMap [ image2Arg ] ,
137124 DiffTypes : diffTypes }
138125 diffs , err := req .GetDiff ()
139126 if err != nil {
140- return fmt .Errorf ("Could not retrieve diff: %s" , err )
127+ return fmt .Errorf ("could not retrieve diff: %s" , err )
141128 }
142129 outputResults (diffs )
143130
@@ -150,7 +137,7 @@ func diffImages(image1Arg, image2Arg string, diffArgs []string) error {
150137 }
151138
152139 if noCache && save {
153- logrus .Infof ("Images were saved at %s and %s" , imageMap [image1Arg ].FSPath ,
140+ logrus .Infof ("images were saved at %s and %s" , imageMap [image1Arg ].FSPath ,
154141 imageMap [image2Arg ].FSPath )
155142 }
156143 return nil
0 commit comments