github.com/searKing/golang/go@v1.2.74/os/file_test.go (about) 1 package os_test 2 3 import ( 4 "io/ioutil" 5 "os" 6 "testing" 7 8 os_ "github.com/searKing/golang/go/os" 9 ) 10 11 // tmpDir creates a temporary directory and returns its name. 12 func tmpFile(t *testing.T) string { 13 tmp, err := ioutil.TempFile("", "") 14 if err != nil { 15 t.Fatalf("temp file creation failed: %v", err) 16 } 17 defer os.Remove(tmp.Name()) 18 defer tmp.Close() 19 return tmp.Name() 20 } 21 22 func TestCreateAll(t *testing.T) { 23 tmp := tmpFile(t) 24 f, err := os_.CreateAll(tmp) 25 if err != nil { 26 t.Fatalf("temp file CreateAll failed: %v", err) 27 } 28 defer f.Close() 29 if err := os.Remove(tmp); err != nil { 30 t.Fatalf("temp file Remove failed: %v", err) 31 } 32 } 33 34 func TestTouchAll(t *testing.T) { 35 tmp := tmpFile(t) 36 f, err := os_.TouchAll(tmp) 37 if err != nil { 38 t.Fatalf("temp file TouchAll failed: %v", err) 39 } 40 defer f.Close() 41 if err := os.Remove(tmp); err != nil { 42 t.Fatalf("temp file Remove failed: %v", err) 43 } 44 } 45 46 func TestCreateAllIfNotExist(t *testing.T) { 47 tmp := tmpFile(t) 48 f, err := os_.CreateAllIfNotExist(tmp) 49 if err != nil { 50 t.Fatalf("temp file CreateAllIfNotExist failed: %v", err) 51 } 52 defer f.Close() 53 if err := os.Remove(tmp); err != nil { 54 t.Fatalf("temp file CreateAllIfNotExist failed: %v", err) 55 } 56 } 57 58 func TestRelink(t *testing.T) { 59 tmpOld := tmpFile(t) 60 tmpNew := tmpFile(t) 61 func() { 62 f, err := os_.CreateAllIfNotExist(tmpOld) 63 if err != nil { 64 t.Fatalf("temp file CreateAllIfNotExist failed: %v", err) 65 } 66 defer f.Close() 67 }() 68 err := os_.ReLink(tmpOld, tmpNew) 69 if err != nil { 70 t.Fatalf("temp file ReSymlink failed: %v", err) 71 } 72 if err := os.Remove(tmpOld); err != nil { 73 t.Fatalf("temp file[%s] Remove failed: %v", tmpOld, err) 74 } 75 if err := os.Remove(tmpNew); err != nil { 76 t.Fatalf("temp file[%s] Remove failed: %v", tmpNew, err) 77 } 78 } 79 80 func TestReSymlink(t *testing.T) { 81 tmpOld := tmpFile(t) 82 tmpNew := tmpFile(t) 83 func() { 84 f, err := os_.CreateAllIfNotExist(tmpOld) 85 if err != nil { 86 t.Fatalf("temp file CreateAllIfNotExist failed: %v", err) 87 } 88 defer f.Close() 89 }() 90 err := os_.ReSymlink(tmpOld, tmpNew) 91 if err != nil { 92 t.Fatalf("temp file ReSymlink failed: %v", err) 93 } 94 if err := os.Remove(tmpOld); err != nil { 95 t.Fatalf("temp file[%s] Remove failed: %v", tmpOld, err) 96 } 97 if err := os.Remove(tmpNew); err != nil { 98 t.Fatalf("temp file[%s] Remove failed: %v", tmpNew, err) 99 } 100 }