MCPcopy
hub / github.com/hashicorp/packer / TestArchive

Function TestArchive

post-processor/compress/post-processor_test.go:190–291  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

188}
189
190func TestArchive(t *testing.T) {
191 tc := map[string]func(*os.File) ([]byte, error){
192 "bzip2": func(archive *os.File) ([]byte, error) {
193 bzipReader, err := bzip2.NewReader(archive, nil)
194 if err != nil {
195 return nil, err
196 }
197 return io.ReadAll(bzipReader)
198 },
199 "zip": func(archive *os.File) ([]byte, error) {
200 fi, _ := archive.Stat()
201 zipReader, err := zip.NewReader(archive, fi.Size())
202 if err != nil {
203 return nil, err
204 }
205 ctt, err := zipReader.File[0].Open()
206 if err != nil {
207 return nil, err
208 }
209 return io.ReadAll(ctt)
210 },
211 "tar": func(archive *os.File) ([]byte, error) {
212 tarReader := tar.NewReader(archive)
213 _, err := tarReader.Next()
214 if err != nil {
215 return nil, err
216 }
217 return io.ReadAll(tarReader)
218 },
219 "tar.gz": func(archive *os.File) ([]byte, error) {
220 gzipReader, err := gzip.NewReader(archive)
221 if err != nil {
222 return nil, err
223 }
224 tarReader := tar.NewReader(gzipReader)
225 _, err = tarReader.Next()
226 if err != nil {
227 return nil, err
228 }
229 return io.ReadAll(tarReader)
230 },
231 "gz": func(archive *os.File) ([]byte, error) {
232 gzipReader, _ := gzip.NewReader(archive)
233 return io.ReadAll(gzipReader)
234 },
235 "lz4": func(archive *os.File) ([]byte, error) {
236 lz4Reader := lz4.NewReader(archive)
237 return io.ReadAll(lz4Reader)
238 },
239 }
240
241 tmpArchiveFile := "temp-archive-package"
242 for format, unzip := range tc {
243 t.Run(format, func(t *testing.T) {
244 config := fmt.Sprintf(`
245 {
246 "post-processors": [
247 {

Callers

nothing calls this directly

Calls 6

testArchiveFunction · 0.85
FatalMethod · 0.65
RunMethod · 0.45
DestroyMethod · 0.45
ErrorfMethod · 0.45
CloseMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…