common: delete file if checksum fails

This commit is contained in:
Mitchell Hashimoto 2015-06-22 12:17:29 -07:00
parent a5ac80661a
commit 944b4bf46c
2 changed files with 7 additions and 4 deletions

View File

@ -46,7 +46,6 @@ func TestBlockDevice(t *testing.T) {
DeviceName: aws.String("/dev/sdb"), DeviceName: aws.String("/dev/sdb"),
VirtualName: aws.String(""), VirtualName: aws.String(""),
EBS: &ec2.EBSBlockDevice{ EBS: &ec2.EBSBlockDevice{
Encrypted: aws.Boolean(false),
VolumeType: aws.String(""), VolumeType: aws.String(""),
VolumeSize: aws.Long(8), VolumeSize: aws.Long(8),
DeleteOnTermination: aws.Boolean(false), DeleteOnTermination: aws.Boolean(false),
@ -67,7 +66,6 @@ func TestBlockDevice(t *testing.T) {
DeviceName: aws.String("/dev/sdb"), DeviceName: aws.String("/dev/sdb"),
VirtualName: aws.String("ephemeral0"), VirtualName: aws.String("ephemeral0"),
EBS: &ec2.EBSBlockDevice{ EBS: &ec2.EBSBlockDevice{
Encrypted: aws.Boolean(false),
VolumeType: aws.String("io1"), VolumeType: aws.String("io1"),
VolumeSize: aws.Long(8), VolumeSize: aws.Long(8),
DeleteOnTermination: aws.Boolean(true), DeleteOnTermination: aws.Boolean(true),

View File

@ -136,10 +136,10 @@ func (d *DownloadClient) Get() (string, error) {
if err != nil { if err != nil {
return "", err return "", err
} }
defer f.Close()
log.Printf("Downloading: %s", url.String()) log.Printf("Downloading: %s", url.String())
err = d.downloader.Download(f, url) err = d.downloader.Download(f, url)
f.Close()
if err != nil { if err != nil {
return "", err return "", err
} }
@ -149,7 +149,12 @@ func (d *DownloadClient) Get() (string, error) {
var verify bool var verify bool
verify, err = d.VerifyChecksum(finalPath) verify, err = d.VerifyChecksum(finalPath)
if err == nil && !verify { if err == nil && !verify {
err = fmt.Errorf("checksums didn't match expected: %s", hex.EncodeToString(d.config.Checksum)) // Delete the file
os.Remove(finalPath)
err = fmt.Errorf(
"checksums didn't match expected: %s",
hex.EncodeToString(d.config.Checksum))
} }
} }