| 188 | } |
| 189 | |
| 190 | func 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 | { |