github.com/mithrandie/csvq@v1.18.1/lib/file/main_test.go (about) 1 package file 2 3 import ( 4 "os" 5 "path/filepath" 6 "testing" 7 "time" 8 ) 9 10 func GetTestFilePath(filename string) string { 11 return filepath.Join(TestDir, filename) 12 } 13 14 var TestDir = filepath.Join(os.TempDir(), "csvq_file_test") 15 16 var waitTimeoutForTests = 100 * time.Millisecond 17 var retryDelayForTests = 10 * time.Millisecond 18 19 func TestMain(m *testing.M) { 20 os.Exit(run(m)) 21 } 22 23 func run(m *testing.M) int { 24 defer teardown() 25 26 setup() 27 return m.Run() 28 } 29 30 func setup() { 31 if _, err := os.Stat(TestDir); err == nil { 32 _ = os.RemoveAll(TestDir) 33 } 34 35 if _, err := os.Stat(TestDir); os.IsNotExist(err) { 36 _ = os.Mkdir(TestDir, 0755) 37 } 38 39 fp, _ := os.Create(GetTestFilePath("open.txt")) 40 _ = fp.Close() 41 42 fp, _ = os.Create(GetTestFilePath("update.txt")) 43 _ = fp.Close() 44 } 45 46 func teardown() { 47 if _, err := os.Stat(TestDir); err == nil { 48 _ = os.RemoveAll(TestDir) 49 } 50 }