diff --git a/cli/cage/upgrade/upgrade.go b/cli/cage/upgrade/upgrade.go index 81749a4..81380df 100644 --- a/cli/cage/upgrade/upgrade.go +++ b/cli/cage/upgrade/upgrade.go @@ -220,5 +220,8 @@ func swapFiles( if err := os.Remove(oldFilepath); err != nil { return err } + if err := os.Chmod(targetPath, 0755); err != nil { + return err + } return nil } diff --git a/cli/cage/upgrade/upgrade_test.go b/cli/cage/upgrade/upgrade_test.go index 1ded4f3..43e474c 100644 --- a/cli/cage/upgrade/upgrade_test.go +++ b/cli/cage/upgrade/upgrade_test.go @@ -78,7 +78,7 @@ func TestUpgrade(t *testing.T) { if err != nil { t.Fatal(err) } - err = os.WriteFile(tmpDir+"/cage", []byte(version+"\n"), 0644) + err = os.WriteFile(tmpDir+"/cage", []byte(version+"\n"), 0755) if err != nil { t.Fatal(err) } @@ -95,6 +95,8 @@ func TestUpgrade(t *testing.T) { assert.True(t, os.IsNotExist(err)) _, err = os.Stat(tmpDir + "/cage.old") assert.True(t, os.IsNotExist(err)) + stat, _ := os.Stat(tmpDir + "/cage") + assert.Equal(t, 0755, int(stat.Mode().Perm())) } t.Run("basic", func(t *testing.T) {