-
Notifications
You must be signed in to change notification settings - Fork 1
/
core.go
61 lines (44 loc) · 1.06 KB
/
core.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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package test
import (
"flag"
"os"
"path/filepath"
"github.com/sirupsen/logrus"
)
var verboseLogging bool
func init() {
flag.BoolVar(&verboseLogging, "debug", false, "activate logging for tests")
flag.BoolVar(&verboseLogging, "d", false, "activate logging for tests")
}
func ExpandPath(t testHelper, name string) string {
t.Helper()
path := filepath.Join(WorkingDirectory(), name)
logrus.WithFields(logrus.Fields{
"path": path,
"working_directory": WorkingDirectory(),
}).Debug("Expanded path")
return path
}
func Setup(runTests func()) {
flag.Parse()
if verboseLogging == true {
logrus.SetLevel(logrus.DebugLevel)
}
os.RemoveAll(WorkingDirectory())
os.MkdirAll(WorkingDirectory(), 0755)
logrus.WithFields(logrus.Fields{
"path": WorkingDirectory(),
}).Debug("Set up test environment")
runTests()
}
func WorkingDirectory() string {
cwd, err := os.Getwd()
if err != nil {
cwd = "/tmp"
}
path := filepath.Join(cwd, "tmp", "aruba")
logrus.WithFields(logrus.Fields{
"path": path,
}).Debug("Got working directory")
return path
}