2
2
mirror of https://github.com/octoleo/restic.git synced 2024-06-01 16:40:50 +00:00

Only run minio server for Go >= 1.5.1

This commit is contained in:
Alexander Neumann 2015-12-19 18:22:57 +01:00
parent 34e8f63f77
commit d5e36bd2f0

View File

@ -8,6 +8,7 @@ import (
"os" "os"
"os/exec" "os/exec"
"path/filepath" "path/filepath"
"regexp"
"runtime" "runtime"
"strings" "strings"
) )
@ -65,6 +66,20 @@ func (env *TravisEnvironment) Prepare() {
} }
} }
func goVersionAtLeast151() bool {
v := runtime.Version()
if match, _ := regexp.MatchString(`^go1\.[0-4]`, v); match {
return false
}
if v == "go1.5" {
return false
}
return true
}
func (env *TravisEnvironment) RunTests() { func (env *TravisEnvironment) RunTests() {
// run fuse tests on darwin // run fuse tests on darwin
if runtime.GOOS != "darwin" { if runtime.GOOS != "darwin" {
@ -85,19 +100,31 @@ func (env *TravisEnvironment) RunTests() {
// run the build script // run the build script
run("go", "run", "build.go") run("go", "run", "build.go")
minioCmd, err := runMinio() var (
if err != nil { testEnv map[string]string
fmt.Fprintf(os.Stderr, "error running minio server: %v", err) minioCmd *exec.Cmd
os.Exit(8) err error
)
if goVersionAtLeast151() {
minioCmd, err = runMinio()
if err != nil {
fmt.Fprintf(os.Stderr, "error running minio server: %v", err)
os.Exit(8)
}
testEnv = minioEnv
} }
// run the tests and gather coverage information // run the tests and gather coverage information
runWithEnv(minioEnv, "gotestcover", "-coverprofile", "all.cov", "./...") runWithEnv(testEnv, "gotestcover", "-coverprofile", "all.cov", "./...")
err = minioCmd.Process.Kill() if minioCmd != nil {
if err != nil { err := minioCmd.Process.Kill()
fmt.Fprintf(os.Stderr, "error stopping minio server: %v", err) if err != nil {
os.Exit(8) fmt.Fprintf(os.Stderr, "error stopping minio server: %v", err)
os.Exit(8)
}
} }
runGofmt() runGofmt()
@ -261,19 +288,17 @@ func runMinio() (*exec.Cmd, error) {
return nil, err return nil, err
} }
// logfile, err := os.Create(filepath.Join(cfgdir, "output")) logfile, err := os.Create(filepath.Join(cfgdir, "output"))
// if err != nil { if err != nil {
// return nil, err return nil, err
// } }
cmd := exec.Command("minio", cmd := exec.Command("minio",
"--config-folder", cfgdir, "--config-folder", cfgdir,
"--address", "127.0.0.1:9000", "--address", "127.0.0.1:9000",
"server", dir) "server", dir)
// cmd.Stdout = logfile cmd.Stdout = logfile
// cmd.Stderr = logfile cmd.Stderr = logfile
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
err = cmd.Start() err = cmd.Start()
if err != nil { if err != nil {
return nil, err return nil, err