| Age | Commit message (Collapse) | Author |
|
Commit 69bc3bd5b37fa90e994be9acecf7430269591713 added support for Func()
and BoolFunc() to match stdlib. However, the Func method was added in
[go1.16.0], and BoolFunc in [go1.21.0], so running the tests on older
versions of Go would fail;
docker run -it --rm -v ./:/pflag -w /pflag golang:1.21 sh -c 'go test -v ./...'
# github.com/spf13/pflag [github.com/spf13/pflag.test]
./bool_func_test.go:86:28: cannot use stdFSet (type *flag.FlagSet) as type BoolFuncFlagSet in argument to runCase:
*flag.FlagSet does not implement BoolFuncFlagSet (missing BoolFunc method)
./bool_func_test.go:113:21: undefined: io.Discard
./bool_func_test.go:116:28: cannot use stdFSet (type *flag.FlagSet) as type BoolFuncFlagSet in argument to runCase:
*flag.FlagSet does not implement BoolFuncFlagSet (missing BoolFunc method)
./bool_func_test.go:139:7: undefined: errors.Is
./func_test.go:92:28: cannot use stdFSet (type *flag.FlagSet) as type FuncFlagSet in argument to runCase:
*flag.FlagSet does not implement FuncFlagSet (missing Func method)
./func_test.go:119:21: undefined: io.Discard
./func_test.go:122:28: cannot use stdFSet (type *flag.FlagSet) as type FuncFlagSet in argument to runCase:
*flag.FlagSet does not implement FuncFlagSet (missing Func method)
./func_test.go:145:7: undefined: errors.Is
./func_test.go:145:7: too many errors
FAIL github.com/spf13/pflag [build failed]
This patch moves the tests to a separate file that is not built for older
versions of Go.
[go1.16.0]: https://pkg.go.dev/[email protected]#Func
[go1.21.0]: https://pkg.go.dev/[email protected]#BoolFunc
Signed-off-by: Sebastiaan van Stijn <[email protected]>
|
|
* have '.Type()' for boolfuncValue return "boolfunc" (dedicated value,
which now makes it distinct from funcValue)
* hide extra "(default )" by stating that "" should be treated as
a zero value for a boolFlag
note:
- a boolfuncValue matches 'case boolFlag:', as it
implements the boolFlag interface,
- treating "" as a value which shouldn't trigger a "(default )"
for a regular Bool flag does not look like a breaking change
* hide extra "[=something]" for boolfuncValue
* set default placeholder name for "boolfunc" and "func" flag types
|
|
|
|
Add support for two features which landed in the 'flag' package
from the standard library: Func() and BoolFunc()
and their two pflag specific versions: FuncP() and BoolFuncP()
fixes #426
|