Skip to content

Commit 5b352d8

Browse files
committed
Fix regression in unit-tests
1 parent 05e66e7 commit 5b352d8

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

arduino/resources/index.go

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,18 +91,21 @@ func (res *IndexResource) Download(destDir *paths.Path, downloadCB DownloadProgr
9191
// Make a backup copy of old index and signature so the defer function can rollback in case of errors.
9292
indexPath := destDir.Join(indexFileName)
9393
oldIndex := tmp.Join("old_index")
94-
if err := indexPath.CopyTo(oldIndex); err != nil {
95-
return &arduino.PermissionDeniedError{Message: tr("Error saving downloaded index %s", res.URL), Cause: err}
94+
if indexPath.Exist() {
95+
if err := indexPath.CopyTo(oldIndex); err != nil {
96+
return &arduino.PermissionDeniedError{Message: tr("Error saving downloaded index"), Cause: err}
97+
}
98+
defer oldIndex.CopyTo(indexPath) // will silently fail in case of success
9699
}
97-
defer oldIndex.CopyTo(indexPath) // will silently fail in case of success
98100
oldSignature := tmp.Join("old_signature")
99-
if err := signaturePath.CopyTo(oldSignature); err != nil {
100-
return &arduino.PermissionDeniedError{Message: tr("Error saving downloaded index %s", res.URL), Cause: err}
101+
if oldSignature.Exist() {
102+
if err := signaturePath.CopyTo(oldSignature); err != nil {
103+
return &arduino.PermissionDeniedError{Message: tr("Error saving downloaded index signature"), Cause: err}
104+
}
105+
defer oldSignature.CopyTo(signaturePath) // will silently fail in case of success
101106
}
102-
defer oldSignature.CopyTo(signaturePath) // will silently fail in case of success
103-
104107
if err := tmpIndexPath.CopyTo(indexPath); err != nil {
105-
return &arduino.PermissionDeniedError{Message: tr("Error saving downloaded index %s", res.URL), Cause: err}
108+
return &arduino.PermissionDeniedError{Message: tr("Error saving downloaded index"), Cause: err}
106109
}
107110
if res.SignatureURL != nil {
108111
if err := tmpSignaturePath.CopyTo(signaturePath); err != nil {

0 commit comments

Comments
 (0)