Skip to content

Commit

Permalink
bake: fix entitlement test when running from symlink temp
Browse files Browse the repository at this point in the history
As the paths returned by validator have the symlinks resolved,
the test needs to resolve the symlinks also in the expected
values. Previously this would fail if t.TempDir() or os.GetWd()
returned a path that contained a symlink.

The issue was purely in the test and not in the entitlements
validation logic.

Signed-off-by: Tonis Tiigi <[email protected]>
  • Loading branch information
tonistiigi committed Nov 25, 2024
1 parent 17eff25 commit f95d574
Showing 1 changed file with 16 additions and 8 deletions.
24 changes: 16 additions & 8 deletions bake/entitlements_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -180,10 +180,18 @@ func TestValidateEntitlements(t *testing.T) {
dir2, err := osutil.GetLongPathName(t.TempDir())
require.NoError(t, err)

// the paths returned by entitlements validation will have symlinks resolved
expDir1, err := filepath.EvalSymlinks(dir1)
require.NoError(t, err)
expDir2, err := filepath.EvalSymlinks(dir2)
require.NoError(t, err)

escapeLink := filepath.Join(dir1, "escape_link")
require.NoError(t, os.Symlink("../../aa", escapeLink))

wd := osutil.GetWd()
expWd, err := filepath.EvalSymlinks(wd)
require.NoError(t, err)

tcases := []struct {
name string
Expand All @@ -208,7 +216,7 @@ func TestValidateEntitlements(t *testing.T) {
},
expected: EntitlementConf{
NetworkHost: true,
FSRead: []string{wd},
FSRead: []string{expWd},
},
},
{
Expand All @@ -222,7 +230,7 @@ func TestValidateEntitlements(t *testing.T) {
},
},
expected: EntitlementConf{
FSRead: []string{wd},
FSRead: []string{expWd},
},
},
{
Expand All @@ -236,7 +244,7 @@ func TestValidateEntitlements(t *testing.T) {
expected: EntitlementConf{
NetworkHost: true,
SecurityInsecure: true,
FSRead: []string{wd},
FSRead: []string{expWd},
},
},
{
Expand All @@ -252,7 +260,7 @@ func TestValidateEntitlements(t *testing.T) {
},
expected: EntitlementConf{
SecurityInsecure: true,
FSRead: []string{wd},
FSRead: []string{expWd},
},
},
{
Expand All @@ -266,7 +274,7 @@ func TestValidateEntitlements(t *testing.T) {
},
expected: EntitlementConf{
SSH: true,
FSRead: []string{wd},
FSRead: []string{expWd},
},
},
{
Expand Down Expand Up @@ -295,11 +303,11 @@ func TestValidateEntitlements(t *testing.T) {
},
expected: EntitlementConf{
FSWrite: func() []string {
exp := []string{dir1, dir2}
exp := []string{expDir1, expDir2}
slices.Sort(exp)
return exp
}(),
FSRead: []string{wd},
FSRead: []string{expWd},
},
},
{
Expand Down Expand Up @@ -328,7 +336,7 @@ func TestValidateEntitlements(t *testing.T) {
FSRead: []string{wd, dir1},
},
expected: EntitlementConf{
FSRead: []string{filepath.Join(dir1, "../..")},
FSRead: []string{filepath.Join(expDir1, "../..")},
},
},
{
Expand Down

0 comments on commit f95d574

Please sign in to comment.