diff --git a/pkg/io/compress.go b/pkg/io/compress.go index 9e3b5497..80ac4361 100644 --- a/pkg/io/compress.go +++ b/pkg/io/compress.go @@ -11,10 +11,9 @@ type FormatArchive string const ( Zip FormatArchive = "zip" - Gz FormatArchive = "gz" Bz2 FormatArchive = "bz2" Tar FormatArchive = "tar" - TarGz FormatArchive = "tar.gz" + TGz FormatArchive = "tgz" Xz FormatArchive = "xz" SevenZip FormatArchive = "7z" ) @@ -49,7 +48,7 @@ func Compress(dir string, src []string, dst string) error { switch format { case Zip: cmd = exec.Command("zip", append([]string{"-qr", "-o", dst}, src...)...) - case Gz, TarGz: + case TGz: cmd = exec.Command("tar", append([]string{"-czf", dst}, src...)...) case Bz2: cmd = exec.Command("tar", append([]string{"-cjf", dst}, src...)...) @@ -86,7 +85,7 @@ func UnCompress(src string, dst string) error { switch format { case Zip: cmd = exec.Command("unzip", "-qo", src, "-d", dst) - case Gz, TarGz: + case TGz: cmd = exec.Command("tar", "-xzf", src, "-C", dst) case Bz2: cmd = exec.Command("tar", "-xjf", src, "-C", dst) @@ -108,14 +107,12 @@ func formatArchiveByPath(path string) (FormatArchive, error) { switch filepath.Ext(path) { case ".zip": return Zip, nil - case ".gz": - return Gz, nil case ".bz2": return Bz2, nil case ".tar": return Tar, nil - case ".tar.gz", ".tgz": - return TarGz, nil + case ".gz", ".tar.gz", ".tgz": + return TGz, nil case ".xz": return Xz, nil case ".7z": diff --git a/pkg/io/io_test.go b/pkg/io/io_test.go index 999dc44e..07074cfe 100644 --- a/pkg/io/io_test.go +++ b/pkg/io/io_test.go @@ -1,7 +1,6 @@ package io import ( - "github.com/go-rat/utils/debug" "os" "path/filepath" "testing" @@ -64,12 +63,12 @@ func (s *IOTestSuite) TestCompress() { s.NoError(err) err = Compress(abs, src, filepath.Join(abs, "compress_test.zip")) s.NoError(err) - err = Compress(abs, src, filepath.Join(abs, "compress_test.gz")) - s.NoError(err) err = Compress(abs, src, filepath.Join(abs, "compress_test.bz2")) s.NoError(err) err = Compress(abs, src, filepath.Join(abs, "compress_test.tar")) s.NoError(err) + err = Compress(abs, src, filepath.Join(abs, "compress_test.gz")) + s.NoError(err) err = Compress(abs, src, filepath.Join(abs, "compress_test.tar.gz")) s.NoError(err) err = Compress(abs, src, filepath.Join(abs, "compress_test.tgz")) @@ -93,12 +92,12 @@ func (s *IOTestSuite) TestUnCompress() { s.NoError(err) err = Compress(abs, src, filepath.Join(abs, "uncompress_test.zip")) s.NoError(err) - err = Compress(abs, src, filepath.Join(abs, "uncompress_test.gz")) - s.NoError(err) err = Compress(abs, src, filepath.Join(abs, "uncompress_test.bz2")) s.NoError(err) err = Compress(abs, src, filepath.Join(abs, "uncompress_test.tar")) s.NoError(err) + err = Compress(abs, src, filepath.Join(abs, "uncompress_test.gz")) + s.NoError(err) err = Compress(abs, src, filepath.Join(abs, "uncompress_test.tar.gz")) s.NoError(err) err = Compress(abs, src, filepath.Join(abs, "uncompress_test.tgz")) @@ -116,15 +115,6 @@ func (s *IOTestSuite) TestUnCompress() { data, err = Read("testdata/uncompressed_zip/uncompress_test2.txt") s.NoError(err) s.Equal("File 2", data) - err = UnCompress(filepath.Join(abs, "uncompress_test.gz"), filepath.Join(abs, "uncompressed_gz")) - s.NoError(err) - debug.Dump(ReadDir("testdata/uncompressed_gz")) - data, err = Read("testdata/uncompressed_gz/uncompress_test1.txt") - s.NoError(err) - s.Equal("File 1", data) - data, err = Read("testdata/uncompressed_gz/uncompress_test2.txt") - s.NoError(err) - s.Equal("File 2", data) err = UnCompress(filepath.Join(abs, "uncompress_test.bz2"), filepath.Join(abs, "uncompressed_bz2")) s.NoError(err) data, err = Read("testdata/uncompressed_bz2/uncompress_test1.txt") @@ -141,6 +131,14 @@ func (s *IOTestSuite) TestUnCompress() { data, err = Read("testdata/uncompressed_tar/uncompress_test2.txt") s.NoError(err) s.Equal("File 2", data) + err = UnCompress(filepath.Join(abs, "uncompress_test.gz"), filepath.Join(abs, "uncompressed_gz")) + s.NoError(err) + data, err = Read("testdata/uncompressed_gz/uncompress_test1.txt") + s.NoError(err) + s.Equal("File 1", data) + data, err = Read("testdata/uncompressed_gz/uncompress_test2.txt") + s.NoError(err) + s.Equal("File 2", data) err = UnCompress(filepath.Join(abs, "uncompress_test.tar.gz"), filepath.Join(abs, "uncompressed_tar_gz")) s.NoError(err) data, err = Read("testdata/uncompressed_tar_gz/uncompress_test1.txt")