Этот коммит содержится в:
gedi 2016-11-22 21:12:18 +02:00
родитель bfb741f6c7
коммит 2e189ad0f9
5 изменённых файлов: 20 добавлений и 27 удалений

Просмотреть файл

@ -62,11 +62,11 @@ func buildAndRun() (int, error) {
}
func main() {
var vers, defs, sof, noclr bool
var tags, format, output string
var concurrency int
var vers bool
var output string
flagSet := godog.FlagSet(colors.Colored(os.Stdout), &format, &tags, &defs, &sof, &noclr, &concurrency)
opt := godog.Options{Output: colors.Colored(os.Stdout)}
flagSet := godog.FlagSet(&opt)
flagSet.BoolVar(&vers, "version", false, "Show current version.")
flagSet.StringVar(&output, "o", "", "Build and output test runner executable to given target path.")
flagSet.StringVar(&output, "output", "", "Build and output test runner executable to given target path.")

Просмотреть файл

@ -20,6 +20,6 @@ Feature: get version
And the response should match json:
"""
{
"version": "v0.6.0"
"version": "v0.6.1"
}
"""

Просмотреть файл

@ -27,7 +27,7 @@ var descTagsOption = "Filter scenarios by tags. Expression can be:\n" +
s(4) + "- " + colors.Yellow(`"@wip,@undone"`) + ": run wip or undone scenarios"
// FlagSet allows to manage flags by external suite runner
func FlagSet(w io.Writer, format, tags *string, defs, sof, noclr *bool, cr *int) *flag.FlagSet {
func FlagSet(opt *Options) *flag.FlagSet {
descFormatOption := "How to format tests output. Available formats:\n"
// @TODO: sort by name
for name, desc := range AvailableFormatters() {
@ -36,17 +36,17 @@ func FlagSet(w io.Writer, format, tags *string, defs, sof, noclr *bool, cr *int)
descFormatOption = strings.TrimSpace(descFormatOption)
set := flag.NewFlagSet("godog", flag.ExitOnError)
set.StringVar(format, "format", "pretty", descFormatOption)
set.StringVar(format, "f", "pretty", descFormatOption)
set.StringVar(tags, "tags", "", descTagsOption)
set.StringVar(tags, "t", "", descTagsOption)
set.IntVar(cr, "concurrency", 1, descConcurrencyOption)
set.IntVar(cr, "c", 1, descConcurrencyOption)
set.BoolVar(defs, "definitions", false, "Print all available step definitions.")
set.BoolVar(defs, "d", false, "Print all available step definitions.")
set.BoolVar(sof, "stop-on-failure", false, "Stop processing on first failed scenario.")
set.BoolVar(noclr, "no-colors", false, "Disable ansi colors.")
set.Usage = usage(set, w)
set.StringVar(&opt.Format, "format", "pretty", descFormatOption)
set.StringVar(&opt.Format, "f", "pretty", descFormatOption)
set.StringVar(&opt.Tags, "tags", "", descTagsOption)
set.StringVar(&opt.Tags, "t", "", descTagsOption)
set.IntVar(&opt.Concurrency, "concurrency", 1, descConcurrencyOption)
set.IntVar(&opt.Concurrency, "c", 1, descConcurrencyOption)
set.BoolVar(&opt.ShowStepDefinitions, "definitions", false, "Print all available step definitions.")
set.BoolVar(&opt.ShowStepDefinitions, "d", false, "Print all available step definitions.")
set.BoolVar(&opt.StopOnFailure, "stop-on-failure", false, "Stop processing on first failed scenario.")
set.BoolVar(&opt.NoColors, "no-colors", false, "Disable ansi colors.")
set.Usage = usage(set, opt.Output)
return set
}

Просмотреть файл

@ -42,4 +42,4 @@ Godog was inspired by Behat and Cucumber the above description is taken from it'
package godog
// Version of package - based on Semantic Versioning 2.0.0 http://semver.org/
const Version = "v0.6.0"
const Version = "v0.6.1"

11
run.go
Просмотреть файл

@ -139,15 +139,8 @@ func RunWithOptions(suite string, contextInitializer func(suite *Suite), opt Opt
// the step definitions and event handlers.
func Run(suite string, contextInitializer func(suite *Suite)) int {
var opt Options
flagSet := FlagSet(
colors.Colored(os.Stdout),
&opt.Format,
&opt.Tags,
&opt.ShowStepDefinitions,
&opt.StopOnFailure,
&opt.NoColors,
&opt.Concurrency,
)
opt.Output = colors.Colored(os.Stdout)
flagSet := FlagSet(&opt)
err := flagSet.Parse(os.Args[1:])
fatal(err)