@@ -141,6 +141,21 @@ func TestCompressSelectedFiles(t *testing.T) {
141141 p .SendKey (common .Hotkeys .ExtractFile [0 ])
142142 // File extraction is supposedly async. So function's return doesn't means its done.
143143 extractedDir := filepath .Join (tt .startDir , tt .extractedDirName )
144+
145+ // Setup cleanup to run even if test fails
146+ t .Cleanup (func () {
147+ var rmExtractErr error
148+ require .Eventually (t , func () bool {
149+ rmExtractErr = os .RemoveAll (extractedDir )
150+ return rmExtractErr == nil
151+ }, DefaultTestTimeout , DefaultTestTick , "Failed to remove extracted directory %q: %v" , extractedDir , rmExtractErr )
152+
153+ var rmZipErr error
154+ require .Eventually (t , func () bool {
155+ rmZipErr = os .RemoveAll (zipFile )
156+ return rmZipErr == nil
157+ }, DefaultTestTimeout , DefaultTestTick , "Failed to remove zip file %q: %v" , zipFile , rmZipErr )
158+ })
144159 assert .Eventually (t , func () bool {
145160 for _ , f := range tt .expectedFilesAfterExtract {
146161 _ , err := os .Stat (filepath .Join (extractedDir , f ))
@@ -152,8 +167,6 @@ func TestCompressSelectedFiles(t *testing.T) {
152167 }, DefaultTestTimeout , DefaultTestTick , "Extraction of files failed Required - [%s]+%v" ,
153168 extractedDir , tt .expectedFilesAfterExtract )
154169
155- require .NoError (t , os .RemoveAll (extractedDir ))
156- require .NoError (t , os .RemoveAll (zipFile ))
157170 })
158171 }
159172
0 commit comments