forked from iotexproject/iotex-core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfile.go
28 lines (23 loc) · 911 Bytes
/
file.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Copyright (c) 2018 IoTeX
// This source code is provided 'as is' and no warranties are given as to title or non-infringement, merchantability
// or fitness for purpose and, to the extent permitted by law, all liability for your use of the code is disclaimed.
// This source code is governed by Apache License 2.0 that can be found in the LICENSE file.
package testutil
import (
"os"
"github.com/iotexproject/iotex-core/v2/pkg/util/fileutil"
)
// PathOfTempFile returns path of a new temporary file
func PathOfTempFile(dirName string) (string, error) {
tempFile, err := os.CreateTemp(os.TempDir(), dirName)
if err != nil {
return "", err
}
return tempFile.Name(), tempFile.Close()
}
// CleanupPath detects the existence of test DB file and removes it if found
func CleanupPath(path string) {
if fileutil.FileExists(path) && os.RemoveAll(path) != nil {
panic("Fail to remove testDB file")
}
}