github.com/rohankumardubey/syslog-redirector-golang@v0.0.0-20140320174030-4859f03d829a/src/pkg/os/error_windows_test.go (about) 1 // Copyright 2012 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package os_test 6 7 import ( 8 "io/ioutil" 9 "os" 10 "path/filepath" 11 "testing" 12 ) 13 14 func TestErrIsExistAfterRename(t *testing.T) { 15 dir, err := ioutil.TempDir("", "go-build") 16 if err != nil { 17 t.Fatalf("Create temp directory: %v", err) 18 } 19 defer os.RemoveAll(dir) 20 21 src := filepath.Join(dir, "src") 22 dest := filepath.Join(dir, "dest") 23 24 f, err := os.Create(src) 25 if err != nil { 26 t.Fatalf("Create file %v: %v", src, err) 27 } 28 f.Close() 29 err = os.Rename(src, dest) 30 if err != nil { 31 t.Fatalf("Rename %v to %v: %v", src, dest, err) 32 } 33 34 f, err = os.Create(src) 35 if err != nil { 36 t.Fatalf("Create file %v: %v", src, err) 37 } 38 f.Close() 39 err = os.Rename(src, dest) 40 if err == nil { 41 t.Fatal("Rename should have failed") 42 } 43 if s := checkErrorPredicate("os.IsExist", os.IsExist, err); s != "" { 44 t.Fatal(s) 45 return 46 } 47 }