1
0
mirror of https://github.com/golang/go synced 2024-11-26 00:07:57 -07:00

os: simplify TestRemoveAllLongPath

Simplify the test logic by using t.TempDir, t.Chdir, and Chdir to
startPath parent.

Change-Id: Ibe71a8c26b8e54c22eb93510037605b69c67bc7a
Reviewed-on: https://go-review.googlesource.com/c/go/+/606896
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
This commit is contained in:
Kir Kolyshkin 2024-08-19 13:23:09 -07:00 committed by Gopher Robot
parent f432b5f756
commit 5164f61697

View File

@ -159,40 +159,25 @@ func TestRemoveAllLongPath(t *testing.T) {
t.Skip("skipping for not implemented platforms")
}
prevDir, err := Getwd()
if err != nil {
t.Fatalf("Could not get wd: %s", err)
}
startPath := t.TempDir()
t.Chdir(startPath)
startPath, err := MkdirTemp("", "TestRemoveAllLongPath-")
if err != nil {
t.Fatalf("Could not create TempDir: %s", err)
}
defer RemoveAll(startPath)
err = Chdir(startPath)
if err != nil {
t.Fatalf("Could not chdir %s: %s", startPath, err)
}
// Removing paths with over 4096 chars commonly fails
// Removing paths with over 4096 chars commonly fails.
name := strings.Repeat("a", 100)
for i := 0; i < 41; i++ {
name := strings.Repeat("a", 100)
err = Mkdir(name, 0755)
if err != nil {
if err := Mkdir(name, 0755); err != nil {
t.Fatalf("Could not mkdir %s: %s", name, err)
}
err = Chdir(name)
if err != nil {
if err := Chdir(name); err != nil {
t.Fatalf("Could not chdir %s: %s", name, err)
}
}
err = Chdir(prevDir)
// Chdir out of startPath before attempting to remove it,
// otherwise RemoveAll fails on aix, illumos and solaris.
err := Chdir(filepath.Join(startPath, ".."))
if err != nil {
t.Fatalf("Could not chdir %s: %s", prevDir, err)
t.Fatalf("Could not chdir: %s", err)
}
err = RemoveAll(startPath)