Improvements to integration tests

This commit is contained in:
Audrius Butkevicius
2015-01-21 23:59:08 +00:00
parent 7c680c955f
commit 25c664b13a
4 changed files with 24 additions and 1 deletions

1
test/logs/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
*.out

View File

@@ -50,7 +50,7 @@ type syncthingProcess struct {
func (p *syncthingProcess) start() error {
if p.logfd == nil {
logfd, err := os.Create(p.instance + ".out")
logfd, err := os.Create("logs/" + getTestName() + "-" + p.instance + ".out")
if err != nil {
return err
}

View File

@@ -27,6 +27,7 @@ import (
"math/rand"
"os"
"path/filepath"
"runtime"
"sort"
"strings"
"time"
@@ -441,3 +442,21 @@ func isTimeout(err error) bool {
return strings.Contains(err.Error(), "use of closed network connection") ||
strings.Contains(err.Error(), "request cancelled while waiting")
}
func getTestName() string {
callers := make([]uintptr, 100)
runtime.Callers(1, callers)
for i, caller := range callers {
f := runtime.FuncForPC(caller)
if f != nil {
if f.Name() == "testing.tRunner" {
testf := runtime.FuncForPC(callers[i-1])
if testf != nil {
path := strings.Split(testf.Name(), ".")
return path[len(path)-1]
}
}
}
}
return time.Now().String()
}