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  }