From: Tobias Klauser Date: Fri, 1 Apr 2022 10:41:35 +0000 (+0200) Subject: os: run TestStatSymlinkLoop on all platforms X-Git-Tag: go1.19beta1~794 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=8e50298f12c9cb8dc8093c00059e46a302977b83;p=gostls13.git os: run TestStatSymlinkLoop on all platforms The test doesn't seem to be specific to Windows, so run in on all platforms supporting symlinks. Change-Id: I0bbae10040d86e313c285bee2c465df2135fd777 Reviewed-on: https://go-review.googlesource.com/c/go/+/397574 Trust: Tobias Klauser Run-TryBot: Tobias Klauser TryBot-Result: Gopher Robot Reviewed-by: Ian Lance Taylor --- diff --git a/src/os/os_test.go b/src/os/os_test.go index 63427deb6e..d071b47058 100644 --- a/src/os/os_test.go +++ b/src/os/os_test.go @@ -223,6 +223,29 @@ func TestStatError(t *testing.T) { } } +func TestStatSymlinkLoop(t *testing.T) { + testenv.MustHaveSymlink(t) + + defer chtmpdir(t)() + + err := os.Symlink("x", "y") + if err != nil { + t.Fatal(err) + } + defer os.Remove("y") + + err = os.Symlink("y", "x") + if err != nil { + t.Fatal(err) + } + defer os.Remove("x") + + _, err = os.Stat("x") + if _, ok := err.(*fs.PathError); !ok { + t.Errorf("expected *PathError, got %T: %v\n", err, err) + } +} + func TestFstat(t *testing.T) { path := sfdir + "/" + sfname file, err1 := Open(path) diff --git a/src/os/os_windows_test.go b/src/os/os_windows_test.go index 195c30f50e..41a066dcbc 100644 --- a/src/os/os_windows_test.go +++ b/src/os/os_windows_test.go @@ -643,29 +643,6 @@ func TestDeleteReadOnly(t *testing.T) { } } -func TestStatSymlinkLoop(t *testing.T) { - testenv.MustHaveSymlink(t) - - defer chtmpdir(t)() - - err := os.Symlink("x", "y") - if err != nil { - t.Fatal(err) - } - defer os.Remove("y") - - err = os.Symlink("y", "x") - if err != nil { - t.Fatal(err) - } - defer os.Remove("x") - - _, err = os.Stat("x") - if _, ok := err.(*fs.PathError); !ok { - t.Errorf("expected *PathError, got %T: %v\n", err, err) - } -} - func TestReadStdin(t *testing.T) { old := poll.ReadConsole defer func() {