@@ -18,14 +18,14 @@ import (
1818 "archive/tar"
1919 "bytes"
2020 "compress/gzip"
21- "crypto/sha256"
22- "fmt"
2321 "io"
2422 "io/ioutil"
2523 "os"
2624 "path/filepath"
2725 "strings"
2826 "testing"
27+
28+ "github.com/opencontainers/go-digest"
2929)
3030
3131func TestUnpackLayerDuplicateEntries (t * testing.T ) {
@@ -90,26 +90,25 @@ func TestUnpackLayer(t *testing.T) {
9090 gw .Close ()
9191 f .Close ()
9292
93- // generate sha256 hash
94- h := sha256 .New ()
93+ digester := digest .SHA256 .Digester ()
9594 file , err := os .Open (tarfile )
9695 if err != nil {
9796 t .Fatal (err )
9897 }
9998 defer file .Close ()
100- _ , err = io .Copy (h , file )
99+ _ , err = io .Copy (digester . Hash () , file )
101100 if err != nil {
102101 t .Fatal (err )
103102 }
104- err = os .Rename (tarfile , filepath .Join (tmp1 , "blobs" , "sha256" , fmt . Sprintf ( "%x" , h . Sum ( nil ) )))
103+ err = os .Rename (tarfile , filepath .Join (tmp1 , "blobs" , "sha256" , digester . Digest (). Hex ( )))
105104 if err != nil {
106105 t .Fatal (err )
107106 }
108107
109108 testManifest := manifest {
110109 Layers : []descriptor {descriptor {
111110 MediaType : "application/vnd.oci.image.layer.v1.tar+gzip" ,
112- Digest : fmt . Sprintf ( "sha256:%s" , fmt . Sprintf ( "%x" , h . Sum ( nil )) ),
111+ Digest : digester . Digest (). String ( ),
113112 }},
114113 }
115114 err = testManifest .unpack (newPathWalker (tmp1 ), filepath .Join (tmp1 , "rootfs" ))
@@ -151,26 +150,25 @@ func TestUnpackLayerRemovePartialyUnpackedFile(t *testing.T) {
151150 gw .Close ()
152151 f .Close ()
153152
154- // generate sha256 hash
155- h := sha256 .New ()
153+ digester := digest .SHA256 .Digester ()
156154 file , err := os .Open (tarfile )
157155 if err != nil {
158156 t .Fatal (err )
159157 }
160158 defer file .Close ()
161- _ , err = io .Copy (h , file )
159+ _ , err = io .Copy (digester . Hash () , file )
162160 if err != nil {
163161 t .Fatal (err )
164162 }
165- err = os .Rename (tarfile , filepath .Join (tmp1 , "blobs" , "sha256" , fmt . Sprintf ( "%x" , h . Sum ( nil ) )))
163+ err = os .Rename (tarfile , filepath .Join (tmp1 , "blobs" , "sha256" , digester . Digest (). Hex ( )))
166164 if err != nil {
167165 t .Fatal (err )
168166 }
169167
170168 testManifest := manifest {
171169 Layers : []descriptor {descriptor {
172170 MediaType : "application/vnd.oci.image.layer.v1.tar+gzip" ,
173- Digest : fmt . Sprintf ( "sha256:%s" , fmt . Sprintf ( "%x" , h . Sum ( nil )) ),
171+ Digest : digester . Digest (). String ( ),
174172 }},
175173 }
176174 err = testManifest .unpack (newPathWalker (tmp1 ), filepath .Join (tmp1 , "rootfs" ))
0 commit comments