Skip to content

Commit 08318f5

Browse files
committed
os: fix tests on self-hosted Go builds
Updates #31722 Change-Id: I467bb2539f993fad642abf96388a58a263fbe007 Reviewed-on: https://go-review.googlesource.com/c/go/+/174311 Run-TryBot: Elias Naur <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> TryBot-Result: Gobot Gobot <[email protected]>
1 parent 85387aa commit 08318f5

File tree

1 file changed

+25
-9
lines changed

1 file changed

+25
-9
lines changed

src/os/os_test.go

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,26 @@ var sysdir = func() *sysDir {
5959
if err != nil {
6060
wd = err.Error()
6161
}
62-
return &sysDir{
62+
sd := &sysDir{
6363
filepath.Join(wd, "..", ".."),
6464
[]string{
6565
"ResourceRules.plist",
6666
"Info.plist",
6767
},
6868
}
69+
found := true
70+
for _, f := range sd.files {
71+
path := filepath.Join(sd.name, f)
72+
if _, err := Stat(path); err != nil {
73+
found = false
74+
break
75+
}
76+
}
77+
if found {
78+
return sd
79+
}
80+
// In a self-hosted iOS build the above files might
81+
// not exist. Look for system files instead below.
6982
}
7083
case "windows":
7184
return &sysDir{
@@ -1191,15 +1204,18 @@ func TestChdirAndGetwd(t *testing.T) {
11911204
case "darwin":
11921205
switch runtime.GOARCH {
11931206
case "arm", "arm64":
1194-
d1, err := ioutil.TempDir("", "d1")
1195-
if err != nil {
1196-
t.Fatalf("TempDir: %v", err)
1197-
}
1198-
d2, err := ioutil.TempDir("", "d2")
1199-
if err != nil {
1200-
t.Fatalf("TempDir: %v", err)
1207+
for _, d := range []string{"d1", "d2"} {
1208+
dir, err := ioutil.TempDir("", d)
1209+
if err != nil {
1210+
t.Fatalf("TempDir: %v", err)
1211+
}
1212+
// Expand symlinks so path equality tests work.
1213+
dir, err = filepath.EvalSymlinks(dir)
1214+
if err != nil {
1215+
t.Fatalf("EvalSymlinks: %v", err)
1216+
}
1217+
dirs = append(dirs, dir)
12011218
}
1202-
dirs = []string{d1, d2}
12031219
}
12041220
}
12051221
oldwd := Getenv("PWD")

0 commit comments

Comments
 (0)