vendor: update spf13/cobra to fix arg parsing

This commit is contained in:
Nick Craig-Wood 2017-05-12 19:49:32 +01:00
parent 8b61692754
commit 0c92a64bb3
7 changed files with 29 additions and 14 deletions

2
Gopkg.lock generated
View file

@ -142,7 +142,7 @@ memo = "0c86c911e62d7207fb8549d69519a5a795ce4b36aadce87b84504f109eefe60b"
branch = "master"
name = "github.com/spf13/cobra"
packages = [".","doc"]
revision = "1362f95a8d6fe330d00a64380d6e0b65f4992c72"
revision = "90687e7bfc7e1e5cd88eb1f513f32f01dc03dd7c"
[[projects]]
branch = "master"

View file

@ -114,7 +114,7 @@ and flags that are only available to that command.
In the example above, 'port' is the flag.
Flag functionality is provided by the [pflag
library](https://github.com/ogier/pflag), a fork of the flag standard library
library](https://github.com/spf13/pflag), a fork of the flag standard library
which maintains the same interface while adding POSIX compliance.
## Usage

View file

@ -106,7 +106,7 @@ node pod replicationcontroller service
If your nouns have a number of aliases, you can define them alongside `ValidArgs` using `ArgAliases`:
```go`
```go
argAliases []string = { "pods", "nodes", "services", "svc", "replicationcontrollers", "rc" }
cmd := &cobra.Command{

View file

@ -20,7 +20,6 @@ import (
"unicode"
"github.com/spf13/cobra"
"github.com/spf13/viper"
)
func init() {
@ -117,7 +116,7 @@ func createCmdFile(license License, path, cmdName string) {
template := `{{comment .copyright}}
{{comment .license}}
package cmd
package {{.cmdPackage}}
import (
"fmt"
@ -158,7 +157,7 @@ func init() {
data := make(map[string]interface{})
data["copyright"] = copyrightLine()
data["license"] = license.Header
data["viper"] = viper.GetBool("useViper")
data["cmdPackage"] = filepath.Base(filepath.Dir(path)) // last dir of path
data["parentName"] = parentName
data["cmdName"] = cmdName

View file

@ -1150,12 +1150,12 @@ func TestGlobalNormFuncPropagation(t *testing.T) {
func TestFlagOnPflagCommandLine(t *testing.T) {
flagName := "flagOnCommandLine"
pflag.CommandLine.String(flagName, "", "about my flag")
pflag.String(flagName, "", "about my flag")
r := fullSetupTest("--help")
checkResultContains(t, r, flagName)
// reset CommandLine flagset
// Reset pflag.CommandLine flagset.
pflag.CommandLine = pflag.NewFlagSet(os.Args[0], pflag.ExitOnError)
}

View file

@ -1275,8 +1275,8 @@ func (c *Command) Parent() *Command {
// mergePersistentFlags merges c.PersistentFlags() to c.Flags()
// and adds missing persistent flags of all parents.
func (c *Command) mergePersistentFlags() {
c.Flags().AddFlagSet(c.PersistentFlags())
c.updateParentsPflags()
c.Flags().AddFlagSet(c.PersistentFlags())
c.Flags().AddFlagSet(c.parentsPflags)
}

View file

@ -227,7 +227,7 @@ func TestFlagErrorFunc(t *testing.T) {
// TestSortedFlags checks,
// if cmd.LocalFlags() is unsorted when cmd.Flags().SortFlags set to false.
// https://github.com/spf13/cobra/issues/404
// Related to https://github.com/spf13/cobra/issues/404.
func TestSortedFlags(t *testing.T) {
cmd := &Command{}
cmd.Flags().SortFlags = false
@ -263,13 +263,13 @@ func isStringInStringSlice(s string, ss []string) bool {
// TestHelpFlagInHelp checks,
// if '--help' flag is shown in help for child (executing `parent help child`),
// that has no other flags.
// https://github.com/spf13/cobra/issues/302
// Related to https://github.com/spf13/cobra/issues/302.
func TestHelpFlagInHelp(t *testing.T) {
output := new(bytes.Buffer)
parent := &Command{Use: "parent", Long: "long", Run: func(*Command, []string) { return }}
parent := &Command{Use: "parent", Run: func(*Command, []string) {}}
parent.SetOutput(output)
child := &Command{Use: "child", Long: "long", Run: func(*Command, []string) { return }}
child := &Command{Use: "child", Run: func(*Command, []string) {}}
parent.AddCommand(child)
parent.SetArgs([]string{"help", "child"})
@ -279,6 +279,22 @@ func TestHelpFlagInHelp(t *testing.T) {
}
if !strings.Contains(output.String(), "[flags]") {
t.Fatalf("\nExpecting to contain: %v\nGot: %v", "[flags]", output.String())
t.Errorf("\nExpecting to contain: %v\nGot: %v", "[flags]", output.String())
}
}
// TestMergeCommandLineToFlags checks,
// if pflag.CommandLine is correctly merged to c.Flags() after first call
// of c.mergePersistentFlags.
// Related to https://github.com/spf13/cobra/issues/443.
func TestMergeCommandLineToFlags(t *testing.T) {
pflag.Bool("boolflag", false, "")
c := &Command{Use: "c", Run: func(*Command, []string) {}}
c.mergePersistentFlags()
if c.Flags().Lookup("boolflag") == nil {
t.Fatal("Expecting to have flag from CommandLine in c.Flags()")
}
// Reset pflag.CommandLine flagset.
pflag.CommandLine = pflag.NewFlagSet(os.Args[0], pflag.ExitOnError)
}