grim/resticide

Add a bunch of stuff to the readme
develop tip
2016-07-09, Gary Kramlich
f8bc0c4813a9
Add a bunch of stuff to the readme
package main
import (
"fmt"
"net/url"
"os"
"runtime"
flag "gopkg.in/ogier/pflag.v0"
"bitbucket.org/rw_grim/resticide/loader"
"bitbucket.org/rw_grim/resticide/reporter"
"bitbucket.org/rw_grim/resticide/runner"
)
const (
resticideVersion = "0.1"
)
func main() {
flag.Usage = func() {
fmt.Fprintf(os.Stderr, "Usage: resticide [OPTIONS]\n\nOptions:\n")
flag.PrintDefaults()
}
testDir := flag.String("path", "resticide", "The path to search for tests")
verbose := flag.Bool("verbose", false, "Whether or not to use verbose output")
version := flag.Bool("version", false, "Show the version and exit")
host := flag.String("host", "", "The hostname to use")
workers := flag.Int("workers", runtime.NumCPU(), "How many workers to use to run tests")
flag.Parse()
if *version {
fmt.Fprintf(os.Stderr, "resticide v%s\n", resticideVersion)
os.Exit(0)
}
if *host == "" {
fmt.Printf("You must specify a host\n")
return
}
url, err := url.Parse(*host)
if err != nil {
fmt.Printf("error %s\n", err.Error())
return
}
report := reporter.NewReporter(*verbose)
report.AddHandler(new(reporter.ConsoleReporter))
tests, err := loader.LoadTests(*testDir, report)
if err != nil {
fmt.Printf("error %s\n", err.Error())
return
}
os.Exit(runner.Run(tests, url, *workers, report))
}