@@ -14,7 +14,7 @@ import (
1414 "testing"
1515
1616 "github.com/arduino/go-paths-helper"
17- "github.com/codeclysm/extract/v3 "
17+ "github.com/codeclysm/extract/v4 "
1818 "github.com/stretchr/testify/require"
1919)
2020
@@ -222,43 +222,45 @@ func TestExtract(t *testing.T) {
222222
223223func TestExtractIdempotency (t * testing.T ) {
224224 for _ , test := range ExtractCases {
225- dir , _ := os .MkdirTemp ("" , "" )
226- dir = filepath .Join (dir , "test" )
227- data , err := os .ReadFile (test .Archive )
228- if err != nil {
229- t .Fatal (err )
230- }
231-
232- var extractFn func (context.Context , io.Reader , string , extract.Renamer ) error
233- switch filepath .Ext (test .Archive ) {
234- case ".bz2" :
235- extractFn = extract .Bz2
236- case ".gz" :
237- extractFn = extract .Gz
238- case ".zip" :
239- extractFn = extract .Zip
240- case ".mistery" :
241- extractFn = extract .Archive
242- default :
243- t .Fatal ("unknown error" )
244- }
245-
246- buffer := bytes .NewBuffer (data )
247- if err = extractFn (context .Background (), buffer , dir , test .Renamer ); err != nil {
248- t .Fatal (test .Name , ": Should not fail first extraction: " + err .Error ())
249- }
250-
251- buffer = bytes .NewBuffer (data )
252- if err = extractFn (context .Background (), buffer , dir , test .Renamer ); err != nil {
253- t .Fatal (test .Name , ": Should not fail second extraction: " + err .Error ())
254- }
255-
256- testWalk (t , dir , test .Files )
257-
258- err = os .RemoveAll (dir )
259- if err != nil {
260- t .Fatal (err )
261- }
225+ t .Run (test .Name , func (t * testing.T ) {
226+ dir , _ := os .MkdirTemp ("" , "" )
227+ dir = filepath .Join (dir , "test" )
228+ data , err := os .ReadFile (test .Archive )
229+ if err != nil {
230+ t .Fatal (err )
231+ }
232+
233+ var extractFn func (context.Context , io.Reader , string , extract.Renamer ) error
234+ switch filepath .Ext (test .Archive ) {
235+ case ".bz2" :
236+ extractFn = extract .Bz2
237+ case ".gz" :
238+ extractFn = extract .Gz
239+ case ".zip" :
240+ extractFn = extract .Zip
241+ case ".mistery" :
242+ extractFn = extract .Archive
243+ default :
244+ t .Fatal ("unknown error" )
245+ }
246+
247+ buffer := bytes .NewBuffer (data )
248+ if err = extractFn (context .Background (), buffer , dir , test .Renamer ); err != nil {
249+ t .Fatal (test .Name , ": Should not fail first extraction: " + err .Error ())
250+ }
251+
252+ buffer = bytes .NewBuffer (data )
253+ if err = extractFn (context .Background (), buffer , dir , test .Renamer ); err != nil {
254+ t .Fatal (test .Name , ": Should not fail second extraction: " + err .Error ())
255+ }
256+
257+ testWalk (t , dir , test .Files )
258+
259+ err = os .RemoveAll (dir )
260+ if err != nil {
261+ t .Fatal (err )
262+ }
263+ })
262264 }
263265}
264266
0 commit comments