]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: make TestFcntlFlock more robust
authorMostyn Bramley-Moore <mostyn@antipode.se>
Mon, 17 Apr 2017 19:32:21 +0000 (21:32 +0200)
committerBrad Fitzpatrick <bradfitz@golang.org>
Mon, 17 Apr 2017 20:08:25 +0000 (20:08 +0000)
Avoid the use of constant absolute temp files in tests.  This could
produce flaky results, for example on multiuser development machines.

Change-Id: Ia76157a0660fbe294bb31a46ded886cea5deec97
Reviewed-on: https://go-review.googlesource.com/40916
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/syscall/syscall_unix_test.go

index 2f25d18bca94df2b3bab7dc981043135765f8cff..b1fe78deba46dd19b6e1a533ae1137a477071ebc 100644 (file)
@@ -78,12 +78,16 @@ func TestFcntlFlock(t *testing.T) {
        }
        if os.Getenv("GO_WANT_HELPER_PROCESS") == "" {
                // parent
-               name := filepath.Join(os.TempDir(), "TestFcntlFlock")
+               tempDir, err := ioutil.TempDir("", "TestFcntlFlock")
+               if err != nil {
+                       t.Fatalf("Failed to create temp dir: %v", err)
+               }
+               name := filepath.Join(tempDir, "TestFcntlFlock")
                fd, err := syscall.Open(name, syscall.O_CREAT|syscall.O_RDWR|syscall.O_CLOEXEC, 0)
                if err != nil {
                        t.Fatalf("Open failed: %v", err)
                }
-               defer syscall.Unlink(name)
+               defer os.RemoveAll(tempDir)
                defer syscall.Close(fd)
                if err := syscall.Ftruncate(fd, 1<<20); err != nil {
                        t.Fatalf("Ftruncate(1<<20) failed: %v", err)