@ -10,9 +10,9 @@ import (
)
func TestWriteUsage ( t * testing . T ) {
expectedUsage := "usage: example [--name NAME] [--value VALUE] [--verbose] [--dataset DATASET] [--optimize OPTIMIZE] [--ids IDS] [--workers WORKERS] INPUT [OUTPUT [OUTPUT ...]]\n"
expectedUsage := "usage: example [--name NAME] [--value VALUE] [--verbose] [--dataset DATASET] [--optimize OPTIMIZE] [--ids IDS] [--values VALUES] [-- workers WORKERS] INPUT [OUTPUT [OUTPUT ...]]\n"
expectedHelp := ` usage : example [ -- name NAME ] [ -- value VALUE ] [ -- verbose ] [ -- dataset DATASET ] [ -- optimize OPTIMIZE ] [ -- ids IDS ] [ -- workers WORKERS ] INPUT [ OUTPUT [ OUTPUT ... ] ]
expectedHelp := ` usage : example [ -- name NAME ] [ -- value VALUE ] [ -- verbose ] [ -- dataset DATASET ] [ -- optimize OPTIMIZE ] [ -- ids IDS ] [ -- values VALUES ] [ -- workers WORKERS ] INPUT [ OUTPUT [ OUTPUT ... ] ]
positional arguments :
input
@ -26,23 +26,26 @@ options:
-- optimize OPTIMIZE , - O OPTIMIZE
optimization level
-- ids IDS Ids
-- values VALUES Values [ default : [ 3.14 42 256 ] ]
-- workers WORKERS , - w WORKERS
number of workers to start
-- help , - h display this help and exit
`
var args struct {
Input string ` arg:"positional" `
Output [ ] string ` arg:"positional,help:list of outputs" `
Name string ` arg:"help:name to use" `
Value int ` arg:"help:secret value" `
Verbose bool ` arg:"-v,help:verbosity level" `
Dataset string ` arg:"help:dataset to use" `
Optimize int ` arg:"-O,help:optimization level" `
Ids [ ] int64 ` arg:"help:Ids" `
Workers int ` arg:"-w,env:WORKERS,help:number of workers to start" `
Input string ` arg:"positional" `
Output [ ] string ` arg:"positional,help:list of outputs" `
Name string ` arg:"help:name to use" `
Value int ` arg:"help:secret value" `
Verbose bool ` arg:"-v,help:verbosity level" `
Dataset string ` arg:"help:dataset to use" `
Optimize int ` arg:"-O,help:optimization level" `
Ids [ ] int64 ` arg:"help:Ids" `
Values [ ] float64 ` arg:"help:Values" `
Workers int ` arg:"-w,env:WORKERS,help:number of workers to start" `
}
args . Name = "Foo Bar"
args . Value = 42
args . Values = [ ] float64 { 3.14 , 42 , 256 }
p , err := NewParser ( Config { } , & args )
require . NoError ( t , err )