]> Cypherpunks repositories - gostls13.git/commitdiff
os: fix TestRenameCaseDifference
authorKir Kolyshkin <kolyshkin@gmail.com>
Sat, 9 Sep 2023 11:14:42 +0000 (04:14 -0700)
committerGopher Robot <gobot@golang.org>
Tue, 12 Sep 2023 20:24:06 +0000 (20:24 +0000)
Saw this failing on windows like this:

--- FAIL: TestRenameCaseDifference (2.96s)
--- FAIL: TestRenameCaseDifference/dir (1.64s)
    testing.go:1226: TempDir RemoveAll cleanup: remove C:\Users\gopher\AppData\Local\Temp\1\TestRenameCaseDifferencedir1375918868\001: The process cannot access the file because it is being used by another process.
--- FAIL: TestRenameCaseDifference/file (1.32s)
    testing.go:1226: TempDir RemoveAll cleanup: remove C:\Users\gopher\AppData\Local\Temp\1\TestRenameCaseDifferencefile3272269402\001: The process cannot access the file because it is being used by another process.
FAIL

The reason might be the directory fd is not closed. This may be
mitigated by retries in removeAll function from testing package,
but apparently it does not succeed all the time.

A link to the failed run which made me look into this: https://ci.chromium.org/ui/p/golang/builders/try/gotip-windows-386/b8770439049015378129/overview

Change-Id: Ibebe94958d1aef8d1d0eca8a969675708cd27a7e
Reviewed-on: https://go-review.googlesource.com/c/go/+/527175
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Kirill Kolyshkin <kolyshkin@gmail.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Rob Pike <r@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Heschi Kreinick <heschi@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
src/os/os_test.go

index 25837dce9eeb63024b75dc064d6c9deaf2ae1b77..da70c398e82cd4d40932b56b16f0d320ec7cf183 100644 (file)
@@ -1180,6 +1180,7 @@ func TestRenameCaseDifference(pt *testing.T) {
                        // Stat does not return the real case of the file (it returns what the called asked for)
                        // So we have to use readdir to get the real name of the file.
                        dirNames, err := fd.Readdirnames(-1)
+                       fd.Close()
                        if err != nil {
                                t.Fatalf("readdirnames: %s", err)
                        }