You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by tb...@apache.org on 2018/11/20 09:21:12 UTC
[18/21] brooklyn-client git commit: Switch to dep for dependency
management
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/github.com/NodePrime/jsonpath/path_states_test.go
----------------------------------------------------------------------
diff --git a/cli/vendor/github.com/NodePrime/jsonpath/path_states_test.go b/cli/vendor/github.com/NodePrime/jsonpath/path_states_test.go
deleted file mode 100644
index 42d5b41..0000000
--- a/cli/vendor/github.com/NodePrime/jsonpath/path_states_test.go
+++ /dev/null
@@ -1,30 +0,0 @@
-package jsonpath
-
-import (
- "testing"
-
- "github.com/stretchr/testify/assert"
-)
-
-var pathTests = []lexTest{
- {"simple root node", `$.akey`, []int{pathRoot, pathPeriod, pathKey, pathEOF}},
- {"simple current node", `@.akey`, []int{pathCurrent, pathPeriod, pathKey, pathEOF}},
- {"simple root node w/ value", `$.akey+`, []int{pathRoot, pathPeriod, pathKey, pathValue, pathEOF}},
- {"nested object", `$.akey.akey2`, []int{pathRoot, pathPeriod, pathKey, pathPeriod, pathKey, pathEOF}},
- {"nested objects", `$.akey.akey2.akey3`, []int{pathRoot, pathPeriod, pathKey, pathPeriod, pathKey, pathPeriod, pathKey, pathEOF}},
- {"quoted keys", `$.akey["akey2"].akey3`, []int{pathRoot, pathPeriod, pathKey, pathBracketLeft, pathKey, pathBracketRight, pathPeriod, pathKey, pathEOF}},
- {"wildcard key", `$.akey.*.akey3`, []int{pathRoot, pathPeriod, pathKey, pathPeriod, pathWildcard, pathPeriod, pathKey, pathEOF}},
- {"wildcard index", `$.akey[*]`, []int{pathRoot, pathPeriod, pathKey, pathBracketLeft, pathWildcard, pathBracketRight, pathEOF}},
- {"key with where expression", `$.akey?(@.ten = 5)`, []int{pathRoot, pathPeriod, pathKey, pathWhere, pathExpression, pathEOF}},
- {"bracket notation", `$["aKey"][*][32][23:42]`, []int{pathRoot, pathBracketLeft, pathKey, pathBracketRight, pathBracketLeft, pathWildcard, pathBracketRight, pathBracketLeft, pathIndex, pathBracketRight, pathBracketLeft, pathIndex, pathIndexRange, pathIndex, pathBracketRight, pathEOF}},
-}
-
-func TestValidPaths(t *testing.T) {
- as := assert.New(t)
- for _, test := range pathTests {
- lexer := NewSliceLexer([]byte(test.input), PATH)
- types := itemsToTypes(readerToArray(lexer))
-
- as.EqualValues(types, test.tokenTypes, "Testing of %s: \nactual\n\t%+v\nexpected\n\t%v", test.name, typesDescription(types, pathTokenNames), typesDescription(test.tokenTypes, pathTokenNames))
- }
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/github.com/NodePrime/jsonpath/path_test.go
----------------------------------------------------------------------
diff --git a/cli/vendor/github.com/NodePrime/jsonpath/path_test.go b/cli/vendor/github.com/NodePrime/jsonpath/path_test.go
deleted file mode 100644
index ab7f2a2..0000000
--- a/cli/vendor/github.com/NodePrime/jsonpath/path_test.go
+++ /dev/null
@@ -1,40 +0,0 @@
-package jsonpath
-
-import (
- "testing"
-
- "github.com/stretchr/testify/assert"
-)
-
-type optest struct {
- name string
- path string
- expected []int
-}
-
-var optests = []optest{
- optest{"single key (period) ", `$.aKey`, []int{opTypeName}},
- optest{"single key (bracket)", `$["aKey"]`, []int{opTypeName}},
- optest{"single key (period) ", `$.*`, []int{opTypeNameWild}},
- optest{"single index", `$[12]`, []int{opTypeIndex}},
- optest{"single key", `$[23:45]`, []int{opTypeIndexRange}},
- optest{"single key", `$[*]`, []int{opTypeIndexWild}},
-
- optest{"double key", `$["aKey"]["bKey"]`, []int{opTypeName, opTypeName}},
- optest{"double key", `$["aKey"].bKey`, []int{opTypeName, opTypeName}},
-}
-
-func TestQueryOperators(t *testing.T) {
- as := assert.New(t)
-
- for _, t := range optests {
- path, err := parsePath(t.path)
- as.NoError(err)
-
- as.EqualValues(len(t.expected), len(path.operators))
-
- for x, op := range t.expected {
- as.EqualValues(pathTokenNames[op], pathTokenNames[path.operators[x].typ])
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/github.com/NodePrime/jsonpath/stack_test.go
----------------------------------------------------------------------
diff --git a/cli/vendor/github.com/NodePrime/jsonpath/stack_test.go b/cli/vendor/github.com/NodePrime/jsonpath/stack_test.go
deleted file mode 100644
index d1b1d2f..0000000
--- a/cli/vendor/github.com/NodePrime/jsonpath/stack_test.go
+++ /dev/null
@@ -1,56 +0,0 @@
-package jsonpath
-
-import (
- "testing"
-
- "github.com/stretchr/testify/assert"
-)
-
-func TestStackPush(t *testing.T) {
- as := assert.New(t)
- s := newIntStack()
-
- s.push(5)
- as.EqualValues(s.len(), 1)
-
- s.push(12)
- as.EqualValues(s.len(), 2)
-}
-
-func TestStackPop(t *testing.T) {
- as := assert.New(t)
- s := newIntStack()
-
- s.push(99)
- as.EqualValues(s.len(), 1)
-
- v, ok := s.pop()
- as.True(ok)
- as.EqualValues(99, v)
-
- as.EqualValues(s.len(), 0)
-}
-
-func TestStackPeek(t *testing.T) {
- as := assert.New(t)
- s := newIntStack()
-
- s.push(99)
- v, ok := s.peek()
- as.True(ok)
- as.EqualValues(99, v)
-
- s.push(54)
- v, ok = s.peek()
- as.True(ok)
- as.EqualValues(54, v)
-
- s.pop()
- v, ok = s.peek()
- as.True(ok)
- as.EqualValues(99, v)
-
- s.pop()
- _, ok = s.peek()
- as.False(ok)
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/github.com/urfave/cli/app_test.go
----------------------------------------------------------------------
diff --git a/cli/vendor/github.com/urfave/cli/app_test.go b/cli/vendor/github.com/urfave/cli/app_test.go
deleted file mode 100644
index 7feaf1f..0000000
--- a/cli/vendor/github.com/urfave/cli/app_test.go
+++ /dev/null
@@ -1,1047 +0,0 @@
-package cli
-
-import (
- "bytes"
- "errors"
- "flag"
- "fmt"
- "io"
- "io/ioutil"
- "os"
- "strings"
- "testing"
-)
-
-func ExampleApp_Run() {
- // set args for examples sake
- os.Args = []string{"greet", "--name", "Jeremy"}
-
- app := NewApp()
- app.Name = "greet"
- app.Flags = []Flag{
- StringFlag{Name: "name", Value: "bob", Usage: "a name to say"},
- }
- app.Action = func(c *Context) {
- fmt.Printf("Hello %v\n", c.String("name"))
- }
- app.UsageText = "app [first_arg] [second_arg]"
- app.Author = "Harrison"
- app.Email = "harrison@lolwut.com"
- app.Authors = []Author{Author{Name: "Oliver Allen", Email: "oliver@toyshop.com"}}
- app.Run(os.Args)
- // Output:
- // Hello Jeremy
-}
-
-func ExampleApp_Run_subcommand() {
- // set args for examples sake
- os.Args = []string{"say", "hi", "english", "--name", "Jeremy"}
- app := NewApp()
- app.Name = "say"
- app.Commands = []Command{
- {
- Name: "hello",
- Aliases: []string{"hi"},
- Usage: "use it to see a description",
- Description: "This is how we describe hello the function",
- Subcommands: []Command{
- {
- Name: "english",
- Aliases: []string{"en"},
- Usage: "sends a greeting in english",
- Description: "greets someone in english",
- Flags: []Flag{
- StringFlag{
- Name: "name",
- Value: "Bob",
- Usage: "Name of the person to greet",
- },
- },
- Action: func(c *Context) {
- fmt.Println("Hello,", c.String("name"))
- },
- },
- },
- },
- }
-
- app.Run(os.Args)
- // Output:
- // Hello, Jeremy
-}
-
-func ExampleApp_Run_help() {
- // set args for examples sake
- os.Args = []string{"greet", "h", "describeit"}
-
- app := NewApp()
- app.Name = "greet"
- app.Flags = []Flag{
- StringFlag{Name: "name", Value: "bob", Usage: "a name to say"},
- }
- app.Commands = []Command{
- {
- Name: "describeit",
- Aliases: []string{"d"},
- Usage: "use it to see a description",
- Description: "This is how we describe describeit the function",
- Action: func(c *Context) {
- fmt.Printf("i like to describe things")
- },
- },
- }
- app.Run(os.Args)
- // Output:
- // NAME:
- // greet describeit - use it to see a description
- //
- // USAGE:
- // greet describeit [arguments...]
- //
- // DESCRIPTION:
- // This is how we describe describeit the function
-}
-
-func ExampleApp_Run_bashComplete() {
- // set args for examples sake
- os.Args = []string{"greet", "--generate-bash-completion"}
-
- app := NewApp()
- app.Name = "greet"
- app.EnableBashCompletion = true
- app.Commands = []Command{
- {
- Name: "describeit",
- Aliases: []string{"d"},
- Usage: "use it to see a description",
- Description: "This is how we describe describeit the function",
- Action: func(c *Context) {
- fmt.Printf("i like to describe things")
- },
- }, {
- Name: "next",
- Usage: "next example",
- Description: "more stuff to see when generating bash completion",
- Action: func(c *Context) {
- fmt.Printf("the next example")
- },
- },
- }
-
- app.Run(os.Args)
- // Output:
- // describeit
- // d
- // next
- // help
- // h
-}
-
-func TestApp_Run(t *testing.T) {
- s := ""
-
- app := NewApp()
- app.Action = func(c *Context) {
- s = s + c.Args().First()
- }
-
- err := app.Run([]string{"command", "foo"})
- expect(t, err, nil)
- err = app.Run([]string{"command", "bar"})
- expect(t, err, nil)
- expect(t, s, "foobar")
-}
-
-var commandAppTests = []struct {
- name string
- expected bool
-}{
- {"foobar", true},
- {"batbaz", true},
- {"b", true},
- {"f", true},
- {"bat", false},
- {"nothing", false},
-}
-
-func TestApp_Command(t *testing.T) {
- app := NewApp()
- fooCommand := Command{Name: "foobar", Aliases: []string{"f"}}
- batCommand := Command{Name: "batbaz", Aliases: []string{"b"}}
- app.Commands = []Command{
- fooCommand,
- batCommand,
- }
-
- for _, test := range commandAppTests {
- expect(t, app.Command(test.name) != nil, test.expected)
- }
-}
-
-func TestApp_CommandWithArgBeforeFlags(t *testing.T) {
- var parsedOption, firstArg string
-
- app := NewApp()
- command := Command{
- Name: "cmd",
- Flags: []Flag{
- StringFlag{Name: "option", Value: "", Usage: "some option"},
- },
- Action: func(c *Context) {
- parsedOption = c.String("option")
- firstArg = c.Args().First()
- },
- }
- app.Commands = []Command{command}
-
- app.Run([]string{"", "cmd", "my-arg", "--option", "my-option"})
-
- expect(t, parsedOption, "my-option")
- expect(t, firstArg, "my-arg")
-}
-
-func TestApp_RunAsSubcommandParseFlags(t *testing.T) {
- var context *Context
-
- a := NewApp()
- a.Commands = []Command{
- {
- Name: "foo",
- Action: func(c *Context) {
- context = c
- },
- Flags: []Flag{
- StringFlag{
- Name: "lang",
- Value: "english",
- Usage: "language for the greeting",
- },
- },
- Before: func(_ *Context) error { return nil },
- },
- }
- a.Run([]string{"", "foo", "--lang", "spanish", "abcd"})
-
- expect(t, context.Args().Get(0), "abcd")
- expect(t, context.String("lang"), "spanish")
-}
-
-func TestApp_CommandWithFlagBeforeTerminator(t *testing.T) {
- var parsedOption string
- var args []string
-
- app := NewApp()
- command := Command{
- Name: "cmd",
- Flags: []Flag{
- StringFlag{Name: "option", Value: "", Usage: "some option"},
- },
- Action: func(c *Context) {
- parsedOption = c.String("option")
- args = c.Args()
- },
- }
- app.Commands = []Command{command}
-
- app.Run([]string{"", "cmd", "my-arg", "--option", "my-option", "--", "--notARealFlag"})
-
- expect(t, parsedOption, "my-option")
- expect(t, args[0], "my-arg")
- expect(t, args[1], "--")
- expect(t, args[2], "--notARealFlag")
-}
-
-func TestApp_CommandWithDash(t *testing.T) {
- var args []string
-
- app := NewApp()
- command := Command{
- Name: "cmd",
- Action: func(c *Context) {
- args = c.Args()
- },
- }
- app.Commands = []Command{command}
-
- app.Run([]string{"", "cmd", "my-arg", "-"})
-
- expect(t, args[0], "my-arg")
- expect(t, args[1], "-")
-}
-
-func TestApp_CommandWithNoFlagBeforeTerminator(t *testing.T) {
- var args []string
-
- app := NewApp()
- command := Command{
- Name: "cmd",
- Action: func(c *Context) {
- args = c.Args()
- },
- }
- app.Commands = []Command{command}
-
- app.Run([]string{"", "cmd", "my-arg", "--", "notAFlagAtAll"})
-
- expect(t, args[0], "my-arg")
- expect(t, args[1], "--")
- expect(t, args[2], "notAFlagAtAll")
-}
-
-func TestApp_Float64Flag(t *testing.T) {
- var meters float64
-
- app := NewApp()
- app.Flags = []Flag{
- Float64Flag{Name: "height", Value: 1.5, Usage: "Set the height, in meters"},
- }
- app.Action = func(c *Context) {
- meters = c.Float64("height")
- }
-
- app.Run([]string{"", "--height", "1.93"})
- expect(t, meters, 1.93)
-}
-
-func TestApp_ParseSliceFlags(t *testing.T) {
- var parsedOption, firstArg string
- var parsedIntSlice []int
- var parsedStringSlice []string
-
- app := NewApp()
- command := Command{
- Name: "cmd",
- Flags: []Flag{
- IntSliceFlag{Name: "p", Value: &IntSlice{}, Usage: "set one or more ip addr"},
- StringSliceFlag{Name: "ip", Value: &StringSlice{}, Usage: "set one or more ports to open"},
- },
- Action: func(c *Context) {
- parsedIntSlice = c.IntSlice("p")
- parsedStringSlice = c.StringSlice("ip")
- parsedOption = c.String("option")
- firstArg = c.Args().First()
- },
- }
- app.Commands = []Command{command}
-
- app.Run([]string{"", "cmd", "my-arg", "-p", "22", "-p", "80", "-ip", "8.8.8.8", "-ip", "8.8.4.4"})
-
- IntsEquals := func(a, b []int) bool {
- if len(a) != len(b) {
- return false
- }
- for i, v := range a {
- if v != b[i] {
- return false
- }
- }
- return true
- }
-
- StrsEquals := func(a, b []string) bool {
- if len(a) != len(b) {
- return false
- }
- for i, v := range a {
- if v != b[i] {
- return false
- }
- }
- return true
- }
- var expectedIntSlice = []int{22, 80}
- var expectedStringSlice = []string{"8.8.8.8", "8.8.4.4"}
-
- if !IntsEquals(parsedIntSlice, expectedIntSlice) {
- t.Errorf("%v does not match %v", parsedIntSlice, expectedIntSlice)
- }
-
- if !StrsEquals(parsedStringSlice, expectedStringSlice) {
- t.Errorf("%v does not match %v", parsedStringSlice, expectedStringSlice)
- }
-}
-
-func TestApp_ParseSliceFlagsWithMissingValue(t *testing.T) {
- var parsedIntSlice []int
- var parsedStringSlice []string
-
- app := NewApp()
- command := Command{
- Name: "cmd",
- Flags: []Flag{
- IntSliceFlag{Name: "a", Usage: "set numbers"},
- StringSliceFlag{Name: "str", Usage: "set strings"},
- },
- Action: func(c *Context) {
- parsedIntSlice = c.IntSlice("a")
- parsedStringSlice = c.StringSlice("str")
- },
- }
- app.Commands = []Command{command}
-
- app.Run([]string{"", "cmd", "my-arg", "-a", "2", "-str", "A"})
-
- var expectedIntSlice = []int{2}
- var expectedStringSlice = []string{"A"}
-
- if parsedIntSlice[0] != expectedIntSlice[0] {
- t.Errorf("%v does not match %v", parsedIntSlice[0], expectedIntSlice[0])
- }
-
- if parsedStringSlice[0] != expectedStringSlice[0] {
- t.Errorf("%v does not match %v", parsedIntSlice[0], expectedIntSlice[0])
- }
-}
-
-func TestApp_DefaultStdout(t *testing.T) {
- app := NewApp()
-
- if app.Writer != os.Stdout {
- t.Error("Default output writer not set.")
- }
-}
-
-type mockWriter struct {
- written []byte
-}
-
-func (fw *mockWriter) Write(p []byte) (n int, err error) {
- if fw.written == nil {
- fw.written = p
- } else {
- fw.written = append(fw.written, p...)
- }
-
- return len(p), nil
-}
-
-func (fw *mockWriter) GetWritten() (b []byte) {
- return fw.written
-}
-
-func TestApp_SetStdout(t *testing.T) {
- w := &mockWriter{}
-
- app := NewApp()
- app.Name = "test"
- app.Writer = w
-
- err := app.Run([]string{"help"})
-
- if err != nil {
- t.Fatalf("Run error: %s", err)
- }
-
- if len(w.written) == 0 {
- t.Error("App did not write output to desired writer.")
- }
-}
-
-func TestApp_BeforeFunc(t *testing.T) {
- beforeRun, subcommandRun := false, false
- beforeError := fmt.Errorf("fail")
- var err error
-
- app := NewApp()
-
- app.Before = func(c *Context) error {
- beforeRun = true
- s := c.String("opt")
- if s == "fail" {
- return beforeError
- }
-
- return nil
- }
-
- app.Commands = []Command{
- Command{
- Name: "sub",
- Action: func(c *Context) {
- subcommandRun = true
- },
- },
- }
-
- app.Flags = []Flag{
- StringFlag{Name: "opt"},
- }
-
- // run with the Before() func succeeding
- err = app.Run([]string{"command", "--opt", "succeed", "sub"})
-
- if err != nil {
- t.Fatalf("Run error: %s", err)
- }
-
- if beforeRun == false {
- t.Errorf("Before() not executed when expected")
- }
-
- if subcommandRun == false {
- t.Errorf("Subcommand not executed when expected")
- }
-
- // reset
- beforeRun, subcommandRun = false, false
-
- // run with the Before() func failing
- err = app.Run([]string{"command", "--opt", "fail", "sub"})
-
- // should be the same error produced by the Before func
- if err != beforeError {
- t.Errorf("Run error expected, but not received")
- }
-
- if beforeRun == false {
- t.Errorf("Before() not executed when expected")
- }
-
- if subcommandRun == true {
- t.Errorf("Subcommand executed when NOT expected")
- }
-
-}
-
-func TestApp_AfterFunc(t *testing.T) {
- afterRun, subcommandRun := false, false
- afterError := fmt.Errorf("fail")
- var err error
-
- app := NewApp()
-
- app.After = func(c *Context) error {
- afterRun = true
- s := c.String("opt")
- if s == "fail" {
- return afterError
- }
-
- return nil
- }
-
- app.Commands = []Command{
- Command{
- Name: "sub",
- Action: func(c *Context) {
- subcommandRun = true
- },
- },
- }
-
- app.Flags = []Flag{
- StringFlag{Name: "opt"},
- }
-
- // run with the After() func succeeding
- err = app.Run([]string{"command", "--opt", "succeed", "sub"})
-
- if err != nil {
- t.Fatalf("Run error: %s", err)
- }
-
- if afterRun == false {
- t.Errorf("After() not executed when expected")
- }
-
- if subcommandRun == false {
- t.Errorf("Subcommand not executed when expected")
- }
-
- // reset
- afterRun, subcommandRun = false, false
-
- // run with the Before() func failing
- err = app.Run([]string{"command", "--opt", "fail", "sub"})
-
- // should be the same error produced by the Before func
- if err != afterError {
- t.Errorf("Run error expected, but not received")
- }
-
- if afterRun == false {
- t.Errorf("After() not executed when expected")
- }
-
- if subcommandRun == false {
- t.Errorf("Subcommand not executed when expected")
- }
-}
-
-func TestAppNoHelpFlag(t *testing.T) {
- oldFlag := HelpFlag
- defer func() {
- HelpFlag = oldFlag
- }()
-
- HelpFlag = BoolFlag{}
-
- app := NewApp()
- app.Writer = ioutil.Discard
- err := app.Run([]string{"test", "-h"})
-
- if err != flag.ErrHelp {
- t.Errorf("expected error about missing help flag, but got: %s (%T)", err, err)
- }
-}
-
-func TestAppHelpPrinter(t *testing.T) {
- oldPrinter := HelpPrinter
- defer func() {
- HelpPrinter = oldPrinter
- }()
-
- var wasCalled = false
- HelpPrinter = func(w io.Writer, template string, data interface{}) {
- wasCalled = true
- }
-
- app := NewApp()
- app.Run([]string{"-h"})
-
- if wasCalled == false {
- t.Errorf("Help printer expected to be called, but was not")
- }
-}
-
-func TestAppVersionPrinter(t *testing.T) {
- oldPrinter := VersionPrinter
- defer func() {
- VersionPrinter = oldPrinter
- }()
-
- var wasCalled = false
- VersionPrinter = func(c *Context) {
- wasCalled = true
- }
-
- app := NewApp()
- ctx := NewContext(app, nil, nil)
- ShowVersion(ctx)
-
- if wasCalled == false {
- t.Errorf("Version printer expected to be called, but was not")
- }
-}
-
-func TestAppCommandNotFound(t *testing.T) {
- beforeRun, subcommandRun := false, false
- app := NewApp()
-
- app.CommandNotFound = func(c *Context, command string) {
- beforeRun = true
- }
-
- app.Commands = []Command{
- Command{
- Name: "bar",
- Action: func(c *Context) {
- subcommandRun = true
- },
- },
- }
-
- app.Run([]string{"command", "foo"})
-
- expect(t, beforeRun, true)
- expect(t, subcommandRun, false)
-}
-
-func TestGlobalFlag(t *testing.T) {
- var globalFlag string
- var globalFlagSet bool
- app := NewApp()
- app.Flags = []Flag{
- StringFlag{Name: "global, g", Usage: "global"},
- }
- app.Action = func(c *Context) {
- globalFlag = c.GlobalString("global")
- globalFlagSet = c.GlobalIsSet("global")
- }
- app.Run([]string{"command", "-g", "foo"})
- expect(t, globalFlag, "foo")
- expect(t, globalFlagSet, true)
-
-}
-
-func TestGlobalFlagsInSubcommands(t *testing.T) {
- subcommandRun := false
- parentFlag := false
- app := NewApp()
-
- app.Flags = []Flag{
- BoolFlag{Name: "debug, d", Usage: "Enable debugging"},
- }
-
- app.Commands = []Command{
- Command{
- Name: "foo",
- Flags: []Flag{
- BoolFlag{Name: "parent, p", Usage: "Parent flag"},
- },
- Subcommands: []Command{
- {
- Name: "bar",
- Action: func(c *Context) {
- if c.GlobalBool("debug") {
- subcommandRun = true
- }
- if c.GlobalBool("parent") {
- parentFlag = true
- }
- },
- },
- },
- },
- }
-
- app.Run([]string{"command", "-d", "foo", "-p", "bar"})
-
- expect(t, subcommandRun, true)
- expect(t, parentFlag, true)
-}
-
-func TestApp_Run_CommandWithSubcommandHasHelpTopic(t *testing.T) {
- var subcommandHelpTopics = [][]string{
- {"command", "foo", "--help"},
- {"command", "foo", "-h"},
- {"command", "foo", "help"},
- }
-
- for _, flagSet := range subcommandHelpTopics {
- t.Logf("==> checking with flags %v", flagSet)
-
- app := NewApp()
- buf := new(bytes.Buffer)
- app.Writer = buf
-
- subCmdBar := Command{
- Name: "bar",
- Usage: "does bar things",
- }
- subCmdBaz := Command{
- Name: "baz",
- Usage: "does baz things",
- }
- cmd := Command{
- Name: "foo",
- Description: "descriptive wall of text about how it does foo things",
- Subcommands: []Command{subCmdBar, subCmdBaz},
- }
-
- app.Commands = []Command{cmd}
- err := app.Run(flagSet)
-
- if err != nil {
- t.Error(err)
- }
-
- output := buf.String()
- t.Logf("output: %q\n", buf.Bytes())
-
- if strings.Contains(output, "No help topic for") {
- t.Errorf("expect a help topic, got none: \n%q", output)
- }
-
- for _, shouldContain := range []string{
- cmd.Name, cmd.Description,
- subCmdBar.Name, subCmdBar.Usage,
- subCmdBaz.Name, subCmdBaz.Usage,
- } {
- if !strings.Contains(output, shouldContain) {
- t.Errorf("want help to contain %q, did not: \n%q", shouldContain, output)
- }
- }
- }
-}
-
-func TestApp_Run_SubcommandFullPath(t *testing.T) {
- app := NewApp()
- buf := new(bytes.Buffer)
- app.Writer = buf
- app.Name = "command"
- subCmd := Command{
- Name: "bar",
- Usage: "does bar things",
- }
- cmd := Command{
- Name: "foo",
- Description: "foo commands",
- Subcommands: []Command{subCmd},
- }
- app.Commands = []Command{cmd}
-
- err := app.Run([]string{"command", "foo", "bar", "--help"})
- if err != nil {
- t.Error(err)
- }
-
- output := buf.String()
- if !strings.Contains(output, "command foo bar - does bar things") {
- t.Errorf("expected full path to subcommand: %s", output)
- }
- if !strings.Contains(output, "command foo bar [arguments...]") {
- t.Errorf("expected full path to subcommand: %s", output)
- }
-}
-
-func TestApp_Run_SubcommandHelpName(t *testing.T) {
- app := NewApp()
- buf := new(bytes.Buffer)
- app.Writer = buf
- app.Name = "command"
- subCmd := Command{
- Name: "bar",
- HelpName: "custom",
- Usage: "does bar things",
- }
- cmd := Command{
- Name: "foo",
- Description: "foo commands",
- Subcommands: []Command{subCmd},
- }
- app.Commands = []Command{cmd}
-
- err := app.Run([]string{"command", "foo", "bar", "--help"})
- if err != nil {
- t.Error(err)
- }
-
- output := buf.String()
- if !strings.Contains(output, "custom - does bar things") {
- t.Errorf("expected HelpName for subcommand: %s", output)
- }
- if !strings.Contains(output, "custom [arguments...]") {
- t.Errorf("expected HelpName to subcommand: %s", output)
- }
-}
-
-func TestApp_Run_CommandHelpName(t *testing.T) {
- app := NewApp()
- buf := new(bytes.Buffer)
- app.Writer = buf
- app.Name = "command"
- subCmd := Command{
- Name: "bar",
- Usage: "does bar things",
- }
- cmd := Command{
- Name: "foo",
- HelpName: "custom",
- Description: "foo commands",
- Subcommands: []Command{subCmd},
- }
- app.Commands = []Command{cmd}
-
- err := app.Run([]string{"command", "foo", "bar", "--help"})
- if err != nil {
- t.Error(err)
- }
-
- output := buf.String()
- if !strings.Contains(output, "command foo bar - does bar things") {
- t.Errorf("expected full path to subcommand: %s", output)
- }
- if !strings.Contains(output, "command foo bar [arguments...]") {
- t.Errorf("expected full path to subcommand: %s", output)
- }
-}
-
-func TestApp_Run_CommandSubcommandHelpName(t *testing.T) {
- app := NewApp()
- buf := new(bytes.Buffer)
- app.Writer = buf
- app.Name = "base"
- subCmd := Command{
- Name: "bar",
- HelpName: "custom",
- Usage: "does bar things",
- }
- cmd := Command{
- Name: "foo",
- Description: "foo commands",
- Subcommands: []Command{subCmd},
- }
- app.Commands = []Command{cmd}
-
- err := app.Run([]string{"command", "foo", "--help"})
- if err != nil {
- t.Error(err)
- }
-
- output := buf.String()
- if !strings.Contains(output, "base foo - foo commands") {
- t.Errorf("expected full path to subcommand: %s", output)
- }
- if !strings.Contains(output, "base foo command [command options] [arguments...]") {
- t.Errorf("expected full path to subcommand: %s", output)
- }
-}
-
-func TestApp_Run_Help(t *testing.T) {
- var helpArguments = [][]string{{"boom", "--help"}, {"boom", "-h"}, {"boom", "help"}}
-
- for _, args := range helpArguments {
- buf := new(bytes.Buffer)
-
- t.Logf("==> checking with arguments %v", args)
-
- app := NewApp()
- app.Name = "boom"
- app.Usage = "make an explosive entrance"
- app.Writer = buf
- app.Action = func(c *Context) {
- buf.WriteString("boom I say!")
- }
-
- err := app.Run(args)
- if err != nil {
- t.Error(err)
- }
-
- output := buf.String()
- t.Logf("output: %q\n", buf.Bytes())
-
- if !strings.Contains(output, "boom - make an explosive entrance") {
- t.Errorf("want help to contain %q, did not: \n%q", "boom - make an explosive entrance", output)
- }
- }
-}
-
-func TestApp_Run_Version(t *testing.T) {
- var versionArguments = [][]string{{"boom", "--version"}, {"boom", "-v"}}
-
- for _, args := range versionArguments {
- buf := new(bytes.Buffer)
-
- t.Logf("==> checking with arguments %v", args)
-
- app := NewApp()
- app.Name = "boom"
- app.Usage = "make an explosive entrance"
- app.Version = "0.1.0"
- app.Writer = buf
- app.Action = func(c *Context) {
- buf.WriteString("boom I say!")
- }
-
- err := app.Run(args)
- if err != nil {
- t.Error(err)
- }
-
- output := buf.String()
- t.Logf("output: %q\n", buf.Bytes())
-
- if !strings.Contains(output, "0.1.0") {
- t.Errorf("want version to contain %q, did not: \n%q", "0.1.0", output)
- }
- }
-}
-
-func TestApp_Run_DoesNotOverwriteErrorFromBefore(t *testing.T) {
- app := NewApp()
- app.Action = func(c *Context) {}
- app.Before = func(c *Context) error { return fmt.Errorf("before error") }
- app.After = func(c *Context) error { return fmt.Errorf("after error") }
-
- err := app.Run([]string{"foo"})
- if err == nil {
- t.Fatalf("expected to receive error from Run, got none")
- }
-
- if !strings.Contains(err.Error(), "before error") {
- t.Errorf("expected text of error from Before method, but got none in \"%v\"", err)
- }
- if !strings.Contains(err.Error(), "after error") {
- t.Errorf("expected text of error from After method, but got none in \"%v\"", err)
- }
-}
-
-func TestApp_Run_SubcommandDoesNotOverwriteErrorFromBefore(t *testing.T) {
- app := NewApp()
- app.Commands = []Command{
- Command{
- Subcommands: []Command{
- Command{
- Name: "sub",
- },
- },
- Name: "bar",
- Before: func(c *Context) error { return fmt.Errorf("before error") },
- After: func(c *Context) error { return fmt.Errorf("after error") },
- },
- }
-
- err := app.Run([]string{"foo", "bar"})
- if err == nil {
- t.Fatalf("expected to receive error from Run, got none")
- }
-
- if !strings.Contains(err.Error(), "before error") {
- t.Errorf("expected text of error from Before method, but got none in \"%v\"", err)
- }
- if !strings.Contains(err.Error(), "after error") {
- t.Errorf("expected text of error from After method, but got none in \"%v\"", err)
- }
-}
-
-func TestApp_OnUsageError_WithWrongFlagValue(t *testing.T) {
- app := NewApp()
- app.Flags = []Flag{
- IntFlag{Name: "flag"},
- }
- app.OnUsageError = func(c *Context, err error, isSubcommand bool) error {
- if isSubcommand {
- t.Errorf("Expect no subcommand")
- }
- if !strings.HasPrefix(err.Error(), "invalid value \"wrong\"") {
- t.Errorf("Expect an invalid value error, but got \"%v\"", err)
- }
- return errors.New("intercepted: " + err.Error())
- }
- app.Commands = []Command{
- Command{
- Name: "bar",
- },
- }
-
- err := app.Run([]string{"foo", "--flag=wrong"})
- if err == nil {
- t.Fatalf("expected to receive error from Run, got none")
- }
-
- if !strings.HasPrefix(err.Error(), "intercepted: invalid value") {
- t.Errorf("Expect an intercepted error, but got \"%v\"", err)
- }
-}
-
-func TestApp_OnUsageError_WithWrongFlagValue_ForSubcommand(t *testing.T) {
- app := NewApp()
- app.Flags = []Flag{
- IntFlag{Name: "flag"},
- }
- app.OnUsageError = func(c *Context, err error, isSubcommand bool) error {
- if isSubcommand {
- t.Errorf("Expect subcommand")
- }
- if !strings.HasPrefix(err.Error(), "invalid value \"wrong\"") {
- t.Errorf("Expect an invalid value error, but got \"%v\"", err)
- }
- return errors.New("intercepted: " + err.Error())
- }
- app.Commands = []Command{
- Command{
- Name: "bar",
- },
- }
-
- err := app.Run([]string{"foo", "--flag=wrong", "bar"})
- if err == nil {
- t.Fatalf("expected to receive error from Run, got none")
- }
-
- if !strings.HasPrefix(err.Error(), "intercepted: invalid value") {
- t.Errorf("Expect an intercepted error, but got \"%v\"", err)
- }
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/github.com/urfave/cli/autocomplete/bash_autocomplete
----------------------------------------------------------------------
diff --git a/cli/vendor/github.com/urfave/cli/autocomplete/bash_autocomplete b/cli/vendor/github.com/urfave/cli/autocomplete/bash_autocomplete
deleted file mode 100644
index 21a232f..0000000
--- a/cli/vendor/github.com/urfave/cli/autocomplete/bash_autocomplete
+++ /dev/null
@@ -1,14 +0,0 @@
-#! /bin/bash
-
-: ${PROG:=$(basename ${BASH_SOURCE})}
-
-_cli_bash_autocomplete() {
- local cur opts base
- COMPREPLY=()
- cur="${COMP_WORDS[COMP_CWORD]}"
- opts=$( ${COMP_WORDS[@]:0:$COMP_CWORD} --generate-bash-completion )
- COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
- return 0
- }
-
- complete -F _cli_bash_autocomplete $PROG
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/github.com/urfave/cli/autocomplete/zsh_autocomplete
----------------------------------------------------------------------
diff --git a/cli/vendor/github.com/urfave/cli/autocomplete/zsh_autocomplete b/cli/vendor/github.com/urfave/cli/autocomplete/zsh_autocomplete
deleted file mode 100644
index 5430a18..0000000
--- a/cli/vendor/github.com/urfave/cli/autocomplete/zsh_autocomplete
+++ /dev/null
@@ -1,5 +0,0 @@
-autoload -U compinit && compinit
-autoload -U bashcompinit && bashcompinit
-
-script_dir=$(dirname $0)
-source ${script_dir}/bash_autocomplete
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/github.com/urfave/cli/command_test.go
----------------------------------------------------------------------
diff --git a/cli/vendor/github.com/urfave/cli/command_test.go b/cli/vendor/github.com/urfave/cli/command_test.go
deleted file mode 100644
index 827da1d..0000000
--- a/cli/vendor/github.com/urfave/cli/command_test.go
+++ /dev/null
@@ -1,97 +0,0 @@
-package cli
-
-import (
- "errors"
- "flag"
- "fmt"
- "io/ioutil"
- "strings"
- "testing"
-)
-
-func TestCommandFlagParsing(t *testing.T) {
- cases := []struct {
- testArgs []string
- skipFlagParsing bool
- expectedErr error
- }{
- {[]string{"blah", "blah", "-break"}, false, errors.New("flag provided but not defined: -break")}, // Test normal "not ignoring flags" flow
- {[]string{"blah", "blah"}, true, nil}, // Test SkipFlagParsing without any args that look like flags
- {[]string{"blah", "-break"}, true, nil}, // Test SkipFlagParsing with random flag arg
- {[]string{"blah", "-help"}, true, nil}, // Test SkipFlagParsing with "special" help flag arg
- }
-
- for _, c := range cases {
- app := NewApp()
- app.Writer = ioutil.Discard
- set := flag.NewFlagSet("test", 0)
- set.Parse(c.testArgs)
-
- context := NewContext(app, set, nil)
-
- command := Command{
- Name: "test-cmd",
- Aliases: []string{"tc"},
- Usage: "this is for testing",
- Description: "testing",
- Action: func(_ *Context) {},
- }
-
- command.SkipFlagParsing = c.skipFlagParsing
-
- err := command.Run(context)
-
- expect(t, err, c.expectedErr)
- expect(t, []string(context.Args()), c.testArgs)
- }
-}
-
-func TestCommand_Run_DoesNotOverwriteErrorFromBefore(t *testing.T) {
- app := NewApp()
- app.Commands = []Command{
- Command{
- Name: "bar",
- Before: func(c *Context) error { return fmt.Errorf("before error") },
- After: func(c *Context) error { return fmt.Errorf("after error") },
- },
- }
-
- err := app.Run([]string{"foo", "bar"})
- if err == nil {
- t.Fatalf("expected to receive error from Run, got none")
- }
-
- if !strings.Contains(err.Error(), "before error") {
- t.Errorf("expected text of error from Before method, but got none in \"%v\"", err)
- }
- if !strings.Contains(err.Error(), "after error") {
- t.Errorf("expected text of error from After method, but got none in \"%v\"", err)
- }
-}
-
-func TestCommand_OnUsageError_WithWrongFlagValue(t *testing.T) {
- app := NewApp()
- app.Commands = []Command{
- Command{
- Name: "bar",
- Flags: []Flag{
- IntFlag{Name: "flag"},
- },
- OnUsageError: func(c *Context, err error) error {
- if !strings.HasPrefix(err.Error(), "invalid value \"wrong\"") {
- t.Errorf("Expect an invalid value error, but got \"%v\"", err)
- }
- return errors.New("intercepted: " + err.Error())
- },
- },
- }
-
- err := app.Run([]string{"foo", "bar", "--flag=wrong"})
- if err == nil {
- t.Fatalf("expected to receive error from Run, got none")
- }
-
- if !strings.HasPrefix(err.Error(), "intercepted: invalid value") {
- t.Errorf("Expect an intercepted error, but got \"%v\"", err)
- }
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/github.com/urfave/cli/context_test.go
----------------------------------------------------------------------
diff --git a/cli/vendor/github.com/urfave/cli/context_test.go b/cli/vendor/github.com/urfave/cli/context_test.go
deleted file mode 100644
index 7f8e928..0000000
--- a/cli/vendor/github.com/urfave/cli/context_test.go
+++ /dev/null
@@ -1,113 +0,0 @@
-package cli
-
-import (
- "flag"
- "testing"
- "time"
-)
-
-func TestNewContext(t *testing.T) {
- set := flag.NewFlagSet("test", 0)
- set.Int("myflag", 12, "doc")
- globalSet := flag.NewFlagSet("test", 0)
- globalSet.Int("myflag", 42, "doc")
- globalCtx := NewContext(nil, globalSet, nil)
- command := Command{Name: "mycommand"}
- c := NewContext(nil, set, globalCtx)
- c.Command = command
- expect(t, c.Int("myflag"), 12)
- expect(t, c.GlobalInt("myflag"), 42)
- expect(t, c.Command.Name, "mycommand")
-}
-
-func TestContext_Int(t *testing.T) {
- set := flag.NewFlagSet("test", 0)
- set.Int("myflag", 12, "doc")
- c := NewContext(nil, set, nil)
- expect(t, c.Int("myflag"), 12)
-}
-
-func TestContext_Duration(t *testing.T) {
- set := flag.NewFlagSet("test", 0)
- set.Duration("myflag", time.Duration(12*time.Second), "doc")
- c := NewContext(nil, set, nil)
- expect(t, c.Duration("myflag"), time.Duration(12*time.Second))
-}
-
-func TestContext_String(t *testing.T) {
- set := flag.NewFlagSet("test", 0)
- set.String("myflag", "hello world", "doc")
- c := NewContext(nil, set, nil)
- expect(t, c.String("myflag"), "hello world")
-}
-
-func TestContext_Bool(t *testing.T) {
- set := flag.NewFlagSet("test", 0)
- set.Bool("myflag", false, "doc")
- c := NewContext(nil, set, nil)
- expect(t, c.Bool("myflag"), false)
-}
-
-func TestContext_BoolT(t *testing.T) {
- set := flag.NewFlagSet("test", 0)
- set.Bool("myflag", true, "doc")
- c := NewContext(nil, set, nil)
- expect(t, c.BoolT("myflag"), true)
-}
-
-func TestContext_Args(t *testing.T) {
- set := flag.NewFlagSet("test", 0)
- set.Bool("myflag", false, "doc")
- c := NewContext(nil, set, nil)
- set.Parse([]string{"--myflag", "bat", "baz"})
- expect(t, len(c.Args()), 2)
- expect(t, c.Bool("myflag"), true)
-}
-
-func TestContext_IsSet(t *testing.T) {
- set := flag.NewFlagSet("test", 0)
- set.Bool("myflag", false, "doc")
- set.String("otherflag", "hello world", "doc")
- globalSet := flag.NewFlagSet("test", 0)
- globalSet.Bool("myflagGlobal", true, "doc")
- globalCtx := NewContext(nil, globalSet, nil)
- c := NewContext(nil, set, globalCtx)
- set.Parse([]string{"--myflag", "bat", "baz"})
- globalSet.Parse([]string{"--myflagGlobal", "bat", "baz"})
- expect(t, c.IsSet("myflag"), true)
- expect(t, c.IsSet("otherflag"), false)
- expect(t, c.IsSet("bogusflag"), false)
- expect(t, c.IsSet("myflagGlobal"), false)
-}
-
-func TestContext_GlobalIsSet(t *testing.T) {
- set := flag.NewFlagSet("test", 0)
- set.Bool("myflag", false, "doc")
- set.String("otherflag", "hello world", "doc")
- globalSet := flag.NewFlagSet("test", 0)
- globalSet.Bool("myflagGlobal", true, "doc")
- globalSet.Bool("myflagGlobalUnset", true, "doc")
- globalCtx := NewContext(nil, globalSet, nil)
- c := NewContext(nil, set, globalCtx)
- set.Parse([]string{"--myflag", "bat", "baz"})
- globalSet.Parse([]string{"--myflagGlobal", "bat", "baz"})
- expect(t, c.GlobalIsSet("myflag"), false)
- expect(t, c.GlobalIsSet("otherflag"), false)
- expect(t, c.GlobalIsSet("bogusflag"), false)
- expect(t, c.GlobalIsSet("myflagGlobal"), true)
- expect(t, c.GlobalIsSet("myflagGlobalUnset"), false)
- expect(t, c.GlobalIsSet("bogusGlobal"), false)
-}
-
-func TestContext_NumFlags(t *testing.T) {
- set := flag.NewFlagSet("test", 0)
- set.Bool("myflag", false, "doc")
- set.String("otherflag", "hello world", "doc")
- globalSet := flag.NewFlagSet("test", 0)
- globalSet.Bool("myflagGlobal", true, "doc")
- globalCtx := NewContext(nil, globalSet, nil)
- c := NewContext(nil, set, globalCtx)
- set.Parse([]string{"--myflag", "--otherflag=foo"})
- globalSet.Parse([]string{"--myflagGlobal"})
- expect(t, c.NumFlags(), 2)
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/github.com/urfave/cli/flag_test.go
----------------------------------------------------------------------
diff --git a/cli/vendor/github.com/urfave/cli/flag_test.go b/cli/vendor/github.com/urfave/cli/flag_test.go
deleted file mode 100644
index 3caa70a..0000000
--- a/cli/vendor/github.com/urfave/cli/flag_test.go
+++ /dev/null
@@ -1,859 +0,0 @@
-package cli
-
-import (
- "fmt"
- "os"
- "reflect"
- "strings"
- "testing"
- "runtime"
-)
-
-var boolFlagTests = []struct {
- name string
- expected string
-}{
- {"help", "--help\t"},
- {"h", "-h\t"},
-}
-
-func TestBoolFlagHelpOutput(t *testing.T) {
-
- for _, test := range boolFlagTests {
- flag := BoolFlag{Name: test.name}
- output := flag.String()
-
- if output != test.expected {
- t.Errorf("%s does not match %s", output, test.expected)
- }
- }
-}
-
-var stringFlagTests = []struct {
- name string
- value string
- expected string
-}{
- {"help", "", "--help \t"},
- {"h", "", "-h \t"},
- {"h", "", "-h \t"},
- {"test", "Something", "--test \"Something\"\t"},
-}
-
-func TestStringFlagHelpOutput(t *testing.T) {
-
- for _, test := range stringFlagTests {
- flag := StringFlag{Name: test.name, Value: test.value}
- output := flag.String()
-
- if output != test.expected {
- t.Errorf("%s does not match %s", output, test.expected)
- }
- }
-}
-
-func TestStringFlagWithEnvVarHelpOutput(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_FOO", "derp")
- for _, test := range stringFlagTests {
- flag := StringFlag{Name: test.name, Value: test.value, EnvVar: "APP_FOO"}
- output := flag.String()
-
- expectedSuffix := " [$APP_FOO]"
- if runtime.GOOS == "windows" {
- expectedSuffix = " [%APP_FOO%]"
- }
- if !strings.HasSuffix(output, expectedSuffix) {
- t.Errorf("%s does not end with" + expectedSuffix, output)
- }
- }
-}
-
-var stringSliceFlagTests = []struct {
- name string
- value *StringSlice
- expected string
-}{
- {"help", func() *StringSlice {
- s := &StringSlice{}
- s.Set("")
- return s
- }(), "--help [--help option --help option]\t"},
- {"h", func() *StringSlice {
- s := &StringSlice{}
- s.Set("")
- return s
- }(), "-h [-h option -h option]\t"},
- {"h", func() *StringSlice {
- s := &StringSlice{}
- s.Set("")
- return s
- }(), "-h [-h option -h option]\t"},
- {"test", func() *StringSlice {
- s := &StringSlice{}
- s.Set("Something")
- return s
- }(), "--test [--test option --test option]\t"},
-}
-
-func TestStringSliceFlagHelpOutput(t *testing.T) {
-
- for _, test := range stringSliceFlagTests {
- flag := StringSliceFlag{Name: test.name, Value: test.value}
- output := flag.String()
-
- if output != test.expected {
- t.Errorf("%q does not match %q", output, test.expected)
- }
- }
-}
-
-func TestStringSliceFlagWithEnvVarHelpOutput(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_QWWX", "11,4")
- for _, test := range stringSliceFlagTests {
- flag := StringSliceFlag{Name: test.name, Value: test.value, EnvVar: "APP_QWWX"}
- output := flag.String()
-
- expectedSuffix := " [$APP_QWWX]"
- if runtime.GOOS == "windows" {
- expectedSuffix = " [%APP_QWWX%]"
- }
- if !strings.HasSuffix(output, expectedSuffix) {
- t.Errorf("%q does not end with" + expectedSuffix, output)
- }
- }
-}
-
-var intFlagTests = []struct {
- name string
- expected string
-}{
- {"help", "--help \"0\"\t"},
- {"h", "-h \"0\"\t"},
-}
-
-func TestIntFlagHelpOutput(t *testing.T) {
-
- for _, test := range intFlagTests {
- flag := IntFlag{Name: test.name}
- output := flag.String()
-
- if output != test.expected {
- t.Errorf("%s does not match %s", output, test.expected)
- }
- }
-}
-
-func TestIntFlagWithEnvVarHelpOutput(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_BAR", "2")
- for _, test := range intFlagTests {
- flag := IntFlag{Name: test.name, EnvVar: "APP_BAR"}
- output := flag.String()
-
- expectedSuffix := " [$APP_BAR]"
- if runtime.GOOS == "windows" {
- expectedSuffix = " [%APP_BAR%]"
- }
- if !strings.HasSuffix(output, expectedSuffix) {
- t.Errorf("%s does not end with" + expectedSuffix, output)
- }
- }
-}
-
-var durationFlagTests = []struct {
- name string
- expected string
-}{
- {"help", "--help \"0\"\t"},
- {"h", "-h \"0\"\t"},
-}
-
-func TestDurationFlagHelpOutput(t *testing.T) {
-
- for _, test := range durationFlagTests {
- flag := DurationFlag{Name: test.name}
- output := flag.String()
-
- if output != test.expected {
- t.Errorf("%s does not match %s", output, test.expected)
- }
- }
-}
-
-func TestDurationFlagWithEnvVarHelpOutput(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_BAR", "2h3m6s")
- for _, test := range durationFlagTests {
- flag := DurationFlag{Name: test.name, EnvVar: "APP_BAR"}
- output := flag.String()
-
- expectedSuffix := " [$APP_BAR]"
- if runtime.GOOS == "windows" {
- expectedSuffix = " [%APP_BAR%]"
- }
- if !strings.HasSuffix(output, expectedSuffix) {
- t.Errorf("%s does not end with" + expectedSuffix, output)
- }
- }
-}
-
-var intSliceFlagTests = []struct {
- name string
- value *IntSlice
- expected string
-}{
- {"help", &IntSlice{}, "--help [--help option --help option]\t"},
- {"h", &IntSlice{}, "-h [-h option -h option]\t"},
- {"h", &IntSlice{}, "-h [-h option -h option]\t"},
- {"test", func() *IntSlice {
- i := &IntSlice{}
- i.Set("9")
- return i
- }(), "--test [--test option --test option]\t"},
-}
-
-func TestIntSliceFlagHelpOutput(t *testing.T) {
-
- for _, test := range intSliceFlagTests {
- flag := IntSliceFlag{Name: test.name, Value: test.value}
- output := flag.String()
-
- if output != test.expected {
- t.Errorf("%q does not match %q", output, test.expected)
- }
- }
-}
-
-func TestIntSliceFlagWithEnvVarHelpOutput(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_SMURF", "42,3")
- for _, test := range intSliceFlagTests {
- flag := IntSliceFlag{Name: test.name, Value: test.value, EnvVar: "APP_SMURF"}
- output := flag.String()
-
- expectedSuffix := " [$APP_SMURF]"
- if runtime.GOOS == "windows" {
- expectedSuffix = " [%APP_SMURF%]"
- }
- if !strings.HasSuffix(output, expectedSuffix) {
- t.Errorf("%q does not end with" + expectedSuffix, output)
- }
- }
-}
-
-var float64FlagTests = []struct {
- name string
- expected string
-}{
- {"help", "--help \"0\"\t"},
- {"h", "-h \"0\"\t"},
-}
-
-func TestFloat64FlagHelpOutput(t *testing.T) {
-
- for _, test := range float64FlagTests {
- flag := Float64Flag{Name: test.name}
- output := flag.String()
-
- if output != test.expected {
- t.Errorf("%s does not match %s", output, test.expected)
- }
- }
-}
-
-func TestFloat64FlagWithEnvVarHelpOutput(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_BAZ", "99.4")
- for _, test := range float64FlagTests {
- flag := Float64Flag{Name: test.name, EnvVar: "APP_BAZ"}
- output := flag.String()
-
- expectedSuffix := " [$APP_BAZ]"
- if runtime.GOOS == "windows" {
- expectedSuffix = " [%APP_BAZ%]"
- }
- if !strings.HasSuffix(output, expectedSuffix) {
- t.Errorf("%s does not end with" + expectedSuffix, output)
- }
- }
-}
-
-var genericFlagTests = []struct {
- name string
- value Generic
- expected string
-}{
- {"test", &Parser{"abc", "def"}, "--test \"abc,def\"\ttest flag"},
- {"t", &Parser{"abc", "def"}, "-t \"abc,def\"\ttest flag"},
-}
-
-func TestGenericFlagHelpOutput(t *testing.T) {
-
- for _, test := range genericFlagTests {
- flag := GenericFlag{Name: test.name, Value: test.value, Usage: "test flag"}
- output := flag.String()
-
- if output != test.expected {
- t.Errorf("%q does not match %q", output, test.expected)
- }
- }
-}
-
-func TestGenericFlagWithEnvVarHelpOutput(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_ZAP", "3")
- for _, test := range genericFlagTests {
- flag := GenericFlag{Name: test.name, EnvVar: "APP_ZAP"}
- output := flag.String()
-
- expectedSuffix := " [$APP_ZAP]"
- if runtime.GOOS == "windows" {
- expectedSuffix = " [%APP_ZAP%]"
- }
- if !strings.HasSuffix(output, expectedSuffix) {
- t.Errorf("%s does not end with" + expectedSuffix, output)
- }
- }
-}
-
-func TestParseMultiString(t *testing.T) {
- (&App{
- Flags: []Flag{
- StringFlag{Name: "serve, s"},
- },
- Action: func(ctx *Context) {
- if ctx.String("serve") != "10" {
- t.Errorf("main name not set")
- }
- if ctx.String("s") != "10" {
- t.Errorf("short name not set")
- }
- },
- }).Run([]string{"run", "-s", "10"})
-}
-
-func TestParseDestinationString(t *testing.T) {
- var dest string
- a := App{
- Flags: []Flag{
- StringFlag{
- Name: "dest",
- Destination: &dest,
- },
- },
- Action: func(ctx *Context) {
- if dest != "10" {
- t.Errorf("expected destination String 10")
- }
- },
- }
- a.Run([]string{"run", "--dest", "10"})
-}
-
-func TestParseMultiStringFromEnv(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_COUNT", "20")
- (&App{
- Flags: []Flag{
- StringFlag{Name: "count, c", EnvVar: "APP_COUNT"},
- },
- Action: func(ctx *Context) {
- if ctx.String("count") != "20" {
- t.Errorf("main name not set")
- }
- if ctx.String("c") != "20" {
- t.Errorf("short name not set")
- }
- },
- }).Run([]string{"run"})
-}
-
-func TestParseMultiStringFromEnvCascade(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_COUNT", "20")
- (&App{
- Flags: []Flag{
- StringFlag{Name: "count, c", EnvVar: "COMPAT_COUNT,APP_COUNT"},
- },
- Action: func(ctx *Context) {
- if ctx.String("count") != "20" {
- t.Errorf("main name not set")
- }
- if ctx.String("c") != "20" {
- t.Errorf("short name not set")
- }
- },
- }).Run([]string{"run"})
-}
-
-func TestParseMultiStringSlice(t *testing.T) {
- (&App{
- Flags: []Flag{
- StringSliceFlag{Name: "serve, s", Value: &StringSlice{}},
- },
- Action: func(ctx *Context) {
- if !reflect.DeepEqual(ctx.StringSlice("serve"), []string{"10", "20"}) {
- t.Errorf("main name not set")
- }
- if !reflect.DeepEqual(ctx.StringSlice("s"), []string{"10", "20"}) {
- t.Errorf("short name not set")
- }
- },
- }).Run([]string{"run", "-s", "10", "-s", "20"})
-}
-
-func TestParseMultiStringSliceFromEnv(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_INTERVALS", "20,30,40")
-
- (&App{
- Flags: []Flag{
- StringSliceFlag{Name: "intervals, i", Value: &StringSlice{}, EnvVar: "APP_INTERVALS"},
- },
- Action: func(ctx *Context) {
- if !reflect.DeepEqual(ctx.StringSlice("intervals"), []string{"20", "30", "40"}) {
- t.Errorf("main name not set from env")
- }
- if !reflect.DeepEqual(ctx.StringSlice("i"), []string{"20", "30", "40"}) {
- t.Errorf("short name not set from env")
- }
- },
- }).Run([]string{"run"})
-}
-
-func TestParseMultiStringSliceFromEnvCascade(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_INTERVALS", "20,30,40")
-
- (&App{
- Flags: []Flag{
- StringSliceFlag{Name: "intervals, i", Value: &StringSlice{}, EnvVar: "COMPAT_INTERVALS,APP_INTERVALS"},
- },
- Action: func(ctx *Context) {
- if !reflect.DeepEqual(ctx.StringSlice("intervals"), []string{"20", "30", "40"}) {
- t.Errorf("main name not set from env")
- }
- if !reflect.DeepEqual(ctx.StringSlice("i"), []string{"20", "30", "40"}) {
- t.Errorf("short name not set from env")
- }
- },
- }).Run([]string{"run"})
-}
-
-func TestParseMultiInt(t *testing.T) {
- a := App{
- Flags: []Flag{
- IntFlag{Name: "serve, s"},
- },
- Action: func(ctx *Context) {
- if ctx.Int("serve") != 10 {
- t.Errorf("main name not set")
- }
- if ctx.Int("s") != 10 {
- t.Errorf("short name not set")
- }
- },
- }
- a.Run([]string{"run", "-s", "10"})
-}
-
-func TestParseDestinationInt(t *testing.T) {
- var dest int
- a := App{
- Flags: []Flag{
- IntFlag{
- Name: "dest",
- Destination: &dest,
- },
- },
- Action: func(ctx *Context) {
- if dest != 10 {
- t.Errorf("expected destination Int 10")
- }
- },
- }
- a.Run([]string{"run", "--dest", "10"})
-}
-
-func TestParseMultiIntFromEnv(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_TIMEOUT_SECONDS", "10")
- a := App{
- Flags: []Flag{
- IntFlag{Name: "timeout, t", EnvVar: "APP_TIMEOUT_SECONDS"},
- },
- Action: func(ctx *Context) {
- if ctx.Int("timeout") != 10 {
- t.Errorf("main name not set")
- }
- if ctx.Int("t") != 10 {
- t.Errorf("short name not set")
- }
- },
- }
- a.Run([]string{"run"})
-}
-
-func TestParseMultiIntFromEnvCascade(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_TIMEOUT_SECONDS", "10")
- a := App{
- Flags: []Flag{
- IntFlag{Name: "timeout, t", EnvVar: "COMPAT_TIMEOUT_SECONDS,APP_TIMEOUT_SECONDS"},
- },
- Action: func(ctx *Context) {
- if ctx.Int("timeout") != 10 {
- t.Errorf("main name not set")
- }
- if ctx.Int("t") != 10 {
- t.Errorf("short name not set")
- }
- },
- }
- a.Run([]string{"run"})
-}
-
-func TestParseMultiIntSlice(t *testing.T) {
- (&App{
- Flags: []Flag{
- IntSliceFlag{Name: "serve, s", Value: &IntSlice{}},
- },
- Action: func(ctx *Context) {
- if !reflect.DeepEqual(ctx.IntSlice("serve"), []int{10, 20}) {
- t.Errorf("main name not set")
- }
- if !reflect.DeepEqual(ctx.IntSlice("s"), []int{10, 20}) {
- t.Errorf("short name not set")
- }
- },
- }).Run([]string{"run", "-s", "10", "-s", "20"})
-}
-
-func TestParseMultiIntSliceFromEnv(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_INTERVALS", "20,30,40")
-
- (&App{
- Flags: []Flag{
- IntSliceFlag{Name: "intervals, i", Value: &IntSlice{}, EnvVar: "APP_INTERVALS"},
- },
- Action: func(ctx *Context) {
- if !reflect.DeepEqual(ctx.IntSlice("intervals"), []int{20, 30, 40}) {
- t.Errorf("main name not set from env")
- }
- if !reflect.DeepEqual(ctx.IntSlice("i"), []int{20, 30, 40}) {
- t.Errorf("short name not set from env")
- }
- },
- }).Run([]string{"run"})
-}
-
-func TestParseMultiIntSliceFromEnvCascade(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_INTERVALS", "20,30,40")
-
- (&App{
- Flags: []Flag{
- IntSliceFlag{Name: "intervals, i", Value: &IntSlice{}, EnvVar: "COMPAT_INTERVALS,APP_INTERVALS"},
- },
- Action: func(ctx *Context) {
- if !reflect.DeepEqual(ctx.IntSlice("intervals"), []int{20, 30, 40}) {
- t.Errorf("main name not set from env")
- }
- if !reflect.DeepEqual(ctx.IntSlice("i"), []int{20, 30, 40}) {
- t.Errorf("short name not set from env")
- }
- },
- }).Run([]string{"run"})
-}
-
-func TestParseMultiFloat64(t *testing.T) {
- a := App{
- Flags: []Flag{
- Float64Flag{Name: "serve, s"},
- },
- Action: func(ctx *Context) {
- if ctx.Float64("serve") != 10.2 {
- t.Errorf("main name not set")
- }
- if ctx.Float64("s") != 10.2 {
- t.Errorf("short name not set")
- }
- },
- }
- a.Run([]string{"run", "-s", "10.2"})
-}
-
-func TestParseDestinationFloat64(t *testing.T) {
- var dest float64
- a := App{
- Flags: []Flag{
- Float64Flag{
- Name: "dest",
- Destination: &dest,
- },
- },
- Action: func(ctx *Context) {
- if dest != 10.2 {
- t.Errorf("expected destination Float64 10.2")
- }
- },
- }
- a.Run([]string{"run", "--dest", "10.2"})
-}
-
-func TestParseMultiFloat64FromEnv(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_TIMEOUT_SECONDS", "15.5")
- a := App{
- Flags: []Flag{
- Float64Flag{Name: "timeout, t", EnvVar: "APP_TIMEOUT_SECONDS"},
- },
- Action: func(ctx *Context) {
- if ctx.Float64("timeout") != 15.5 {
- t.Errorf("main name not set")
- }
- if ctx.Float64("t") != 15.5 {
- t.Errorf("short name not set")
- }
- },
- }
- a.Run([]string{"run"})
-}
-
-func TestParseMultiFloat64FromEnvCascade(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_TIMEOUT_SECONDS", "15.5")
- a := App{
- Flags: []Flag{
- Float64Flag{Name: "timeout, t", EnvVar: "COMPAT_TIMEOUT_SECONDS,APP_TIMEOUT_SECONDS"},
- },
- Action: func(ctx *Context) {
- if ctx.Float64("timeout") != 15.5 {
- t.Errorf("main name not set")
- }
- if ctx.Float64("t") != 15.5 {
- t.Errorf("short name not set")
- }
- },
- }
- a.Run([]string{"run"})
-}
-
-func TestParseMultiBool(t *testing.T) {
- a := App{
- Flags: []Flag{
- BoolFlag{Name: "serve, s"},
- },
- Action: func(ctx *Context) {
- if ctx.Bool("serve") != true {
- t.Errorf("main name not set")
- }
- if ctx.Bool("s") != true {
- t.Errorf("short name not set")
- }
- },
- }
- a.Run([]string{"run", "--serve"})
-}
-
-func TestParseDestinationBool(t *testing.T) {
- var dest bool
- a := App{
- Flags: []Flag{
- BoolFlag{
- Name: "dest",
- Destination: &dest,
- },
- },
- Action: func(ctx *Context) {
- if dest != true {
- t.Errorf("expected destination Bool true")
- }
- },
- }
- a.Run([]string{"run", "--dest"})
-}
-
-func TestParseMultiBoolFromEnv(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_DEBUG", "1")
- a := App{
- Flags: []Flag{
- BoolFlag{Name: "debug, d", EnvVar: "APP_DEBUG"},
- },
- Action: func(ctx *Context) {
- if ctx.Bool("debug") != true {
- t.Errorf("main name not set from env")
- }
- if ctx.Bool("d") != true {
- t.Errorf("short name not set from env")
- }
- },
- }
- a.Run([]string{"run"})
-}
-
-func TestParseMultiBoolFromEnvCascade(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_DEBUG", "1")
- a := App{
- Flags: []Flag{
- BoolFlag{Name: "debug, d", EnvVar: "COMPAT_DEBUG,APP_DEBUG"},
- },
- Action: func(ctx *Context) {
- if ctx.Bool("debug") != true {
- t.Errorf("main name not set from env")
- }
- if ctx.Bool("d") != true {
- t.Errorf("short name not set from env")
- }
- },
- }
- a.Run([]string{"run"})
-}
-
-func TestParseMultiBoolT(t *testing.T) {
- a := App{
- Flags: []Flag{
- BoolTFlag{Name: "serve, s"},
- },
- Action: func(ctx *Context) {
- if ctx.BoolT("serve") != true {
- t.Errorf("main name not set")
- }
- if ctx.BoolT("s") != true {
- t.Errorf("short name not set")
- }
- },
- }
- a.Run([]string{"run", "--serve"})
-}
-
-func TestParseDestinationBoolT(t *testing.T) {
- var dest bool
- a := App{
- Flags: []Flag{
- BoolTFlag{
- Name: "dest",
- Destination: &dest,
- },
- },
- Action: func(ctx *Context) {
- if dest != true {
- t.Errorf("expected destination BoolT true")
- }
- },
- }
- a.Run([]string{"run", "--dest"})
-}
-
-func TestParseMultiBoolTFromEnv(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_DEBUG", "0")
- a := App{
- Flags: []Flag{
- BoolTFlag{Name: "debug, d", EnvVar: "APP_DEBUG"},
- },
- Action: func(ctx *Context) {
- if ctx.BoolT("debug") != false {
- t.Errorf("main name not set from env")
- }
- if ctx.BoolT("d") != false {
- t.Errorf("short name not set from env")
- }
- },
- }
- a.Run([]string{"run"})
-}
-
-func TestParseMultiBoolTFromEnvCascade(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_DEBUG", "0")
- a := App{
- Flags: []Flag{
- BoolTFlag{Name: "debug, d", EnvVar: "COMPAT_DEBUG,APP_DEBUG"},
- },
- Action: func(ctx *Context) {
- if ctx.BoolT("debug") != false {
- t.Errorf("main name not set from env")
- }
- if ctx.BoolT("d") != false {
- t.Errorf("short name not set from env")
- }
- },
- }
- a.Run([]string{"run"})
-}
-
-type Parser [2]string
-
-func (p *Parser) Set(value string) error {
- parts := strings.Split(value, ",")
- if len(parts) != 2 {
- return fmt.Errorf("invalid format")
- }
-
- (*p)[0] = parts[0]
- (*p)[1] = parts[1]
-
- return nil
-}
-
-func (p *Parser) String() string {
- return fmt.Sprintf("%s,%s", p[0], p[1])
-}
-
-func TestParseGeneric(t *testing.T) {
- a := App{
- Flags: []Flag{
- GenericFlag{Name: "serve, s", Value: &Parser{}},
- },
- Action: func(ctx *Context) {
- if !reflect.DeepEqual(ctx.Generic("serve"), &Parser{"10", "20"}) {
- t.Errorf("main name not set")
- }
- if !reflect.DeepEqual(ctx.Generic("s"), &Parser{"10", "20"}) {
- t.Errorf("short name not set")
- }
- },
- }
- a.Run([]string{"run", "-s", "10,20"})
-}
-
-func TestParseGenericFromEnv(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_SERVE", "20,30")
- a := App{
- Flags: []Flag{
- GenericFlag{Name: "serve, s", Value: &Parser{}, EnvVar: "APP_SERVE"},
- },
- Action: func(ctx *Context) {
- if !reflect.DeepEqual(ctx.Generic("serve"), &Parser{"20", "30"}) {
- t.Errorf("main name not set from env")
- }
- if !reflect.DeepEqual(ctx.Generic("s"), &Parser{"20", "30"}) {
- t.Errorf("short name not set from env")
- }
- },
- }
- a.Run([]string{"run"})
-}
-
-func TestParseGenericFromEnvCascade(t *testing.T) {
- os.Clearenv()
- os.Setenv("APP_FOO", "99,2000")
- a := App{
- Flags: []Flag{
- GenericFlag{Name: "foos", Value: &Parser{}, EnvVar: "COMPAT_FOO,APP_FOO"},
- },
- Action: func(ctx *Context) {
- if !reflect.DeepEqual(ctx.Generic("foos"), &Parser{"99", "2000"}) {
- t.Errorf("value not set from env")
- }
- },
- }
- a.Run([]string{"run"})
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/github.com/urfave/cli/help_test.go
----------------------------------------------------------------------
diff --git a/cli/vendor/github.com/urfave/cli/help_test.go b/cli/vendor/github.com/urfave/cli/help_test.go
deleted file mode 100644
index 350e263..0000000
--- a/cli/vendor/github.com/urfave/cli/help_test.go
+++ /dev/null
@@ -1,94 +0,0 @@
-package cli
-
-import (
- "bytes"
- "testing"
-)
-
-func Test_ShowAppHelp_NoAuthor(t *testing.T) {
- output := new(bytes.Buffer)
- app := NewApp()
- app.Writer = output
-
- c := NewContext(app, nil, nil)
-
- ShowAppHelp(c)
-
- if bytes.Index(output.Bytes(), []byte("AUTHOR(S):")) != -1 {
- t.Errorf("expected\n%snot to include %s", output.String(), "AUTHOR(S):")
- }
-}
-
-func Test_ShowAppHelp_NoVersion(t *testing.T) {
- output := new(bytes.Buffer)
- app := NewApp()
- app.Writer = output
-
- app.Version = ""
-
- c := NewContext(app, nil, nil)
-
- ShowAppHelp(c)
-
- if bytes.Index(output.Bytes(), []byte("VERSION:")) != -1 {
- t.Errorf("expected\n%snot to include %s", output.String(), "VERSION:")
- }
-}
-
-func Test_Help_Custom_Flags(t *testing.T) {
- oldFlag := HelpFlag
- defer func() {
- HelpFlag = oldFlag
- }()
-
- HelpFlag = BoolFlag{
- Name: "help, x",
- Usage: "show help",
- }
-
- app := App{
- Flags: []Flag{
- BoolFlag{Name: "foo, h"},
- },
- Action: func(ctx *Context) {
- if ctx.Bool("h") != true {
- t.Errorf("custom help flag not set")
- }
- },
- }
- output := new(bytes.Buffer)
- app.Writer = output
- app.Run([]string{"test", "-h"})
- if output.Len() > 0 {
- t.Errorf("unexpected output: %s", output.String())
- }
-}
-
-func Test_Version_Custom_Flags(t *testing.T) {
- oldFlag := VersionFlag
- defer func() {
- VersionFlag = oldFlag
- }()
-
- VersionFlag = BoolFlag{
- Name: "version, V",
- Usage: "show version",
- }
-
- app := App{
- Flags: []Flag{
- BoolFlag{Name: "foo, v"},
- },
- Action: func(ctx *Context) {
- if ctx.Bool("v") != true {
- t.Errorf("custom version flag not set")
- }
- },
- }
- output := new(bytes.Buffer)
- app.Writer = output
- app.Run([]string{"test", "-v"})
- if output.Len() > 0 {
- t.Errorf("unexpected output: %s", output.String())
- }
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/github.com/urfave/cli/helpers_test.go
----------------------------------------------------------------------
diff --git a/cli/vendor/github.com/urfave/cli/helpers_test.go b/cli/vendor/github.com/urfave/cli/helpers_test.go
deleted file mode 100644
index b1b7339..0000000
--- a/cli/vendor/github.com/urfave/cli/helpers_test.go
+++ /dev/null
@@ -1,19 +0,0 @@
-package cli
-
-import (
- "reflect"
- "testing"
-)
-
-/* Test Helpers */
-func expect(t *testing.T, a interface{}, b interface{}) {
- if !reflect.DeepEqual(a, b) {
- t.Errorf("Expected %v (type %v) - Got %v (type %v)", b, reflect.TypeOf(b), a, reflect.TypeOf(a))
- }
-}
-
-func refute(t *testing.T, a interface{}, b interface{}) {
- if reflect.DeepEqual(a, b) {
- t.Errorf("Did not expect %v (type %v) - Got %v (type %v)", b, reflect.TypeOf(b), a, reflect.TypeOf(a))
- }
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/golang.org/x/crypto/.gitattributes
----------------------------------------------------------------------
diff --git a/cli/vendor/golang.org/x/crypto/.gitattributes b/cli/vendor/golang.org/x/crypto/.gitattributes
deleted file mode 100644
index d2f212e..0000000
--- a/cli/vendor/golang.org/x/crypto/.gitattributes
+++ /dev/null
@@ -1,10 +0,0 @@
-# Treat all files in this repo as binary, with no git magic updating
-# line endings. Windows users contributing to Go will need to use a
-# modern version of git and editors capable of LF line endings.
-#
-# We'll prevent accidental CRLF line endings from entering the repo
-# via the git-review gofmt checks.
-#
-# See golang.org/issue/9281
-
-* -text
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/golang.org/x/crypto/.gitignore
----------------------------------------------------------------------
diff --git a/cli/vendor/golang.org/x/crypto/.gitignore b/cli/vendor/golang.org/x/crypto/.gitignore
deleted file mode 100644
index 8339fd6..0000000
--- a/cli/vendor/golang.org/x/crypto/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-# Add no patterns to .hgignore except for files generated by the build.
-last-change
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/golang.org/x/crypto/CONTRIBUTING.md
----------------------------------------------------------------------
diff --git a/cli/vendor/golang.org/x/crypto/CONTRIBUTING.md b/cli/vendor/golang.org/x/crypto/CONTRIBUTING.md
deleted file mode 100644
index 88dff59..0000000
--- a/cli/vendor/golang.org/x/crypto/CONTRIBUTING.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributing to Go
-
-Go is an open source project.
-
-It is the work of hundreds of contributors. We appreciate your help!
-
-
-## Filing issues
-
-When [filing an issue](https://golang.org/issue/new), make sure to answer these five questions:
-
-1. What version of Go are you using (`go version`)?
-2. What operating system and processor architecture are you using?
-3. What did you do?
-4. What did you expect to see?
-5. What did you see instead?
-
-General questions should go to the [golang-nuts mailing list](https://groups.google.com/group/golang-nuts) instead of the issue tracker.
-The gophers there will answer or ask you to file an issue if you've tripped over a bug.
-
-## Contributing code
-
-Please read the [Contribution Guidelines](https://golang.org/doc/contribute.html)
-before sending patches.
-
-**We do not accept GitHub pull requests**
-(we use [Gerrit](https://code.google.com/p/gerrit/) instead for code review).
-
-Unless otherwise noted, the Go source files are distributed under
-the BSD-style license found in the LICENSE file.
-
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/golang.org/x/crypto/README
----------------------------------------------------------------------
diff --git a/cli/vendor/golang.org/x/crypto/README b/cli/vendor/golang.org/x/crypto/README
deleted file mode 100644
index f1e0cbf..0000000
--- a/cli/vendor/golang.org/x/crypto/README
+++ /dev/null
@@ -1,3 +0,0 @@
-This repository holds supplementary Go cryptography libraries.
-
-To submit changes to this repository, see http://golang.org/doc/contribute.html.
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/golang.org/x/crypto/bcrypt/base64.go
----------------------------------------------------------------------
diff --git a/cli/vendor/golang.org/x/crypto/bcrypt/base64.go b/cli/vendor/golang.org/x/crypto/bcrypt/base64.go
deleted file mode 100644
index fc31160..0000000
--- a/cli/vendor/golang.org/x/crypto/bcrypt/base64.go
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2011 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package bcrypt
-
-import "encoding/base64"
-
-const alphabet = "./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
-
-var bcEncoding = base64.NewEncoding(alphabet)
-
-func base64Encode(src []byte) []byte {
- n := bcEncoding.EncodedLen(len(src))
- dst := make([]byte, n)
- bcEncoding.Encode(dst, src)
- for dst[n-1] == '=' {
- n--
- }
- return dst[:n]
-}
-
-func base64Decode(src []byte) ([]byte, error) {
- numOfEquals := 4 - (len(src) % 4)
- for i := 0; i < numOfEquals; i++ {
- src = append(src, '=')
- }
-
- dst := make([]byte, bcEncoding.DecodedLen(len(src)))
- n, err := bcEncoding.Decode(dst, src)
- if err != nil {
- return nil, err
- }
- return dst[:n], nil
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/golang.org/x/crypto/bcrypt/bcrypt.go
----------------------------------------------------------------------
diff --git a/cli/vendor/golang.org/x/crypto/bcrypt/bcrypt.go b/cli/vendor/golang.org/x/crypto/bcrypt/bcrypt.go
deleted file mode 100644
index f8b807f..0000000
--- a/cli/vendor/golang.org/x/crypto/bcrypt/bcrypt.go
+++ /dev/null
@@ -1,294 +0,0 @@
-// Copyright 2011 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package bcrypt implements Provos and Mazières's bcrypt adaptive hashing
-// algorithm. See http://www.usenix.org/event/usenix99/provos/provos.pdf
-package bcrypt // import "golang.org/x/crypto/bcrypt"
-
-// The code is a port of Provos and Mazières's C implementation.
-import (
- "crypto/rand"
- "crypto/subtle"
- "errors"
- "fmt"
- "golang.org/x/crypto/blowfish"
- "io"
- "strconv"
-)
-
-const (
- MinCost int = 4 // the minimum allowable cost as passed in to GenerateFromPassword
- MaxCost int = 31 // the maximum allowable cost as passed in to GenerateFromPassword
- DefaultCost int = 10 // the cost that will actually be set if a cost below MinCost is passed into GenerateFromPassword
-)
-
-// The error returned from CompareHashAndPassword when a password and hash do
-// not match.
-var ErrMismatchedHashAndPassword = errors.New("crypto/bcrypt: hashedPassword is not the hash of the given password")
-
-// The error returned from CompareHashAndPassword when a hash is too short to
-// be a bcrypt hash.
-var ErrHashTooShort = errors.New("crypto/bcrypt: hashedSecret too short to be a bcrypted password")
-
-// The error returned from CompareHashAndPassword when a hash was created with
-// a bcrypt algorithm newer than this implementation.
-type HashVersionTooNewError byte
-
-func (hv HashVersionTooNewError) Error() string {
- return fmt.Sprintf("crypto/bcrypt: bcrypt algorithm version '%c' requested is newer than current version '%c'", byte(hv), majorVersion)
-}
-
-// The error returned from CompareHashAndPassword when a hash starts with something other than '$'
-type InvalidHashPrefixError byte
-
-func (ih InvalidHashPrefixError) Error() string {
- return fmt.Sprintf("crypto/bcrypt: bcrypt hashes must start with '$', but hashedSecret started with '%c'", byte(ih))
-}
-
-type InvalidCostError int
-
-func (ic InvalidCostError) Error() string {
- return fmt.Sprintf("crypto/bcrypt: cost %d is outside allowed range (%d,%d)", int(ic), int(MinCost), int(MaxCost))
-}
-
-const (
- majorVersion = '2'
- minorVersion = 'a'
- maxSaltSize = 16
- maxCryptedHashSize = 23
- encodedSaltSize = 22
- encodedHashSize = 31
- minHashSize = 59
-)
-
-// magicCipherData is an IV for the 64 Blowfish encryption calls in
-// bcrypt(). It's the string "OrpheanBeholderScryDoubt" in big-endian bytes.
-var magicCipherData = []byte{
- 0x4f, 0x72, 0x70, 0x68,
- 0x65, 0x61, 0x6e, 0x42,
- 0x65, 0x68, 0x6f, 0x6c,
- 0x64, 0x65, 0x72, 0x53,
- 0x63, 0x72, 0x79, 0x44,
- 0x6f, 0x75, 0x62, 0x74,
-}
-
-type hashed struct {
- hash []byte
- salt []byte
- cost int // allowed range is MinCost to MaxCost
- major byte
- minor byte
-}
-
-// GenerateFromPassword returns the bcrypt hash of the password at the given
-// cost. If the cost given is less than MinCost, the cost will be set to
-// DefaultCost, instead. Use CompareHashAndPassword, as defined in this package,
-// to compare the returned hashed password with its cleartext version.
-func GenerateFromPassword(password []byte, cost int) ([]byte, error) {
- p, err := newFromPassword(password, cost)
- if err != nil {
- return nil, err
- }
- return p.Hash(), nil
-}
-
-// CompareHashAndPassword compares a bcrypt hashed password with its possible
-// plaintext equivalent. Returns nil on success, or an error on failure.
-func CompareHashAndPassword(hashedPassword, password []byte) error {
- p, err := newFromHash(hashedPassword)
- if err != nil {
- return err
- }
-
- otherHash, err := bcrypt(password, p.cost, p.salt)
- if err != nil {
- return err
- }
-
- otherP := &hashed{otherHash, p.salt, p.cost, p.major, p.minor}
- if subtle.ConstantTimeCompare(p.Hash(), otherP.Hash()) == 1 {
- return nil
- }
-
- return ErrMismatchedHashAndPassword
-}
-
-// Cost returns the hashing cost used to create the given hashed
-// password. When, in the future, the hashing cost of a password system needs
-// to be increased in order to adjust for greater computational power, this
-// function allows one to establish which passwords need to be updated.
-func Cost(hashedPassword []byte) (int, error) {
- p, err := newFromHash(hashedPassword)
- if err != nil {
- return 0, err
- }
- return p.cost, nil
-}
-
-func newFromPassword(password []byte, cost int) (*hashed, error) {
- if cost < MinCost {
- cost = DefaultCost
- }
- p := new(hashed)
- p.major = majorVersion
- p.minor = minorVersion
-
- err := checkCost(cost)
- if err != nil {
- return nil, err
- }
- p.cost = cost
-
- unencodedSalt := make([]byte, maxSaltSize)
- _, err = io.ReadFull(rand.Reader, unencodedSalt)
- if err != nil {
- return nil, err
- }
-
- p.salt = base64Encode(unencodedSalt)
- hash, err := bcrypt(password, p.cost, p.salt)
- if err != nil {
- return nil, err
- }
- p.hash = hash
- return p, err
-}
-
-func newFromHash(hashedSecret []byte) (*hashed, error) {
- if len(hashedSecret) < minHashSize {
- return nil, ErrHashTooShort
- }
- p := new(hashed)
- n, err := p.decodeVersion(hashedSecret)
- if err != nil {
- return nil, err
- }
- hashedSecret = hashedSecret[n:]
- n, err = p.decodeCost(hashedSecret)
- if err != nil {
- return nil, err
- }
- hashedSecret = hashedSecret[n:]
-
- // The "+2" is here because we'll have to append at most 2 '=' to the salt
- // when base64 decoding it in expensiveBlowfishSetup().
- p.salt = make([]byte, encodedSaltSize, encodedSaltSize+2)
- copy(p.salt, hashedSecret[:encodedSaltSize])
-
- hashedSecret = hashedSecret[encodedSaltSize:]
- p.hash = make([]byte, len(hashedSecret))
- copy(p.hash, hashedSecret)
-
- return p, nil
-}
-
-func bcrypt(password []byte, cost int, salt []byte) ([]byte, error) {
- cipherData := make([]byte, len(magicCipherData))
- copy(cipherData, magicCipherData)
-
- c, err := expensiveBlowfishSetup(password, uint32(cost), salt)
- if err != nil {
- return nil, err
- }
-
- for i := 0; i < 24; i += 8 {
- for j := 0; j < 64; j++ {
- c.Encrypt(cipherData[i:i+8], cipherData[i:i+8])
- }
- }
-
- // Bug compatibility with C bcrypt implementations. We only encode 23 of
- // the 24 bytes encrypted.
- hsh := base64Encode(cipherData[:maxCryptedHashSize])
- return hsh, nil
-}
-
-func expensiveBlowfishSetup(key []byte, cost uint32, salt []byte) (*blowfish.Cipher, error) {
-
- csalt, err := base64Decode(salt)
- if err != nil {
- return nil, err
- }
-
- // Bug compatibility with C bcrypt implementations. They use the trailing
- // NULL in the key string during expansion.
- ckey := append(key, 0)
-
- c, err := blowfish.NewSaltedCipher(ckey, csalt)
- if err != nil {
- return nil, err
- }
-
- var i, rounds uint64
- rounds = 1 << cost
- for i = 0; i < rounds; i++ {
- blowfish.ExpandKey(ckey, c)
- blowfish.ExpandKey(csalt, c)
- }
-
- return c, nil
-}
-
-func (p *hashed) Hash() []byte {
- arr := make([]byte, 60)
- arr[0] = '$'
- arr[1] = p.major
- n := 2
- if p.minor != 0 {
- arr[2] = p.minor
- n = 3
- }
- arr[n] = '$'
- n += 1
- copy(arr[n:], []byte(fmt.Sprintf("%02d", p.cost)))
- n += 2
- arr[n] = '$'
- n += 1
- copy(arr[n:], p.salt)
- n += encodedSaltSize
- copy(arr[n:], p.hash)
- n += encodedHashSize
- return arr[:n]
-}
-
-func (p *hashed) decodeVersion(sbytes []byte) (int, error) {
- if sbytes[0] != '$' {
- return -1, InvalidHashPrefixError(sbytes[0])
- }
- if sbytes[1] > majorVersion {
- return -1, HashVersionTooNewError(sbytes[1])
- }
- p.major = sbytes[1]
- n := 3
- if sbytes[2] != '$' {
- p.minor = sbytes[2]
- n++
- }
- return n, nil
-}
-
-// sbytes should begin where decodeVersion left off.
-func (p *hashed) decodeCost(sbytes []byte) (int, error) {
- cost, err := strconv.Atoi(string(sbytes[0:2]))
- if err != nil {
- return -1, err
- }
- err = checkCost(cost)
- if err != nil {
- return -1, err
- }
- p.cost = cost
- return 3, nil
-}
-
-func (p *hashed) String() string {
- return fmt.Sprintf("&{hash: %#v, salt: %#v, cost: %d, major: %c, minor: %c}", string(p.hash), p.salt, p.cost, p.major, p.minor)
-}
-
-func checkCost(cost int) error {
- if cost < MinCost || cost > MaxCost {
- return InvalidCostError(cost)
- }
- return nil
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/golang.org/x/crypto/bcrypt/bcrypt_test.go
----------------------------------------------------------------------
diff --git a/cli/vendor/golang.org/x/crypto/bcrypt/bcrypt_test.go b/cli/vendor/golang.org/x/crypto/bcrypt/bcrypt_test.go
deleted file mode 100644
index f08a6f5..0000000
--- a/cli/vendor/golang.org/x/crypto/bcrypt/bcrypt_test.go
+++ /dev/null
@@ -1,226 +0,0 @@
-// Copyright 2011 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package bcrypt
-
-import (
- "bytes"
- "fmt"
- "testing"
-)
-
-func TestBcryptingIsEasy(t *testing.T) {
- pass := []byte("mypassword")
- hp, err := GenerateFromPassword(pass, 0)
- if err != nil {
- t.Fatalf("GenerateFromPassword error: %s", err)
- }
-
- if CompareHashAndPassword(hp, pass) != nil {
- t.Errorf("%v should hash %s correctly", hp, pass)
- }
-
- notPass := "notthepass"
- err = CompareHashAndPassword(hp, []byte(notPass))
- if err != ErrMismatchedHashAndPassword {
- t.Errorf("%v and %s should be mismatched", hp, notPass)
- }
-}
-
-func TestBcryptingIsCorrect(t *testing.T) {
- pass := []byte("allmine")
- salt := []byte("XajjQvNhvvRt5GSeFk1xFe")
- expectedHash := []byte("$2a$10$XajjQvNhvvRt5GSeFk1xFeyqRrsxkhBkUiQeg0dt.wU1qD4aFDcga")
-
- hash, err := bcrypt(pass, 10, salt)
- if err != nil {
- t.Fatalf("bcrypt blew up: %v", err)
- }
- if !bytes.HasSuffix(expectedHash, hash) {
- t.Errorf("%v should be the suffix of %v", hash, expectedHash)
- }
-
- h, err := newFromHash(expectedHash)
- if err != nil {
- t.Errorf("Unable to parse %s: %v", string(expectedHash), err)
- }
-
- // This is not the safe way to compare these hashes. We do this only for
- // testing clarity. Use bcrypt.CompareHashAndPassword()
- if err == nil && !bytes.Equal(expectedHash, h.Hash()) {
- t.Errorf("Parsed hash %v should equal %v", h.Hash(), expectedHash)
- }
-}
-
-func TestVeryShortPasswords(t *testing.T) {
- key := []byte("k")
- salt := []byte("XajjQvNhvvRt5GSeFk1xFe")
- _, err := bcrypt(key, 10, salt)
- if err != nil {
- t.Errorf("One byte key resulted in error: %s", err)
- }
-}
-
-func TestTooLongPasswordsWork(t *testing.T) {
- salt := []byte("XajjQvNhvvRt5GSeFk1xFe")
- // One byte over the usual 56 byte limit that blowfish has
- tooLongPass := []byte("012345678901234567890123456789012345678901234567890123456")
- tooLongExpected := []byte("$2a$10$XajjQvNhvvRt5GSeFk1xFe5l47dONXg781AmZtd869sO8zfsHuw7C")
- hash, err := bcrypt(tooLongPass, 10, salt)
- if err != nil {
- t.Fatalf("bcrypt blew up on long password: %v", err)
- }
- if !bytes.HasSuffix(tooLongExpected, hash) {
- t.Errorf("%v should be the suffix of %v", hash, tooLongExpected)
- }
-}
-
-type InvalidHashTest struct {
- err error
- hash []byte
-}
-
-var invalidTests = []InvalidHashTest{
- {ErrHashTooShort, []byte("$2a$10$fooo")},
- {ErrHashTooShort, []byte("$2a")},
- {HashVersionTooNewError('3'), []byte("$3a$10$sssssssssssssssssssssshhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh")},
- {InvalidHashPrefixError('%'), []byte("%2a$10$sssssssssssssssssssssshhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh")},
- {InvalidCostError(32), []byte("$2a$32$sssssssssssssssssssssshhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh")},
-}
-
-func TestInvalidHashErrors(t *testing.T) {
- check := func(name string, expected, err error) {
- if err == nil {
- t.Errorf("%s: Should have returned an error", name)
- }
- if err != nil && err != expected {
- t.Errorf("%s gave err %v but should have given %v", name, err, expected)
- }
- }
- for _, iht := range invalidTests {
- _, err := newFromHash(iht.hash)
- check("newFromHash", iht.err, err)
- err = CompareHashAndPassword(iht.hash, []byte("anything"))
- check("CompareHashAndPassword", iht.err, err)
- }
-}
-
-func TestUnpaddedBase64Encoding(t *testing.T) {
- original := []byte{101, 201, 101, 75, 19, 227, 199, 20, 239, 236, 133, 32, 30, 109, 243, 30}
- encodedOriginal := []byte("XajjQvNhvvRt5GSeFk1xFe")
-
- encoded := base64Encode(original)
-
- if !bytes.Equal(encodedOriginal, encoded) {
- t.Errorf("Encoded %v should have equaled %v", encoded, encodedOriginal)
- }
-
- decoded, err := base64Decode(encodedOriginal)
- if err != nil {
- t.Fatalf("base64Decode blew up: %s", err)
- }
-
- if !bytes.Equal(decoded, original) {
- t.Errorf("Decoded %v should have equaled %v", decoded, original)
- }
-}
-
-func TestCost(t *testing.T) {
- suffix := "XajjQvNhvvRt5GSeFk1xFe5l47dONXg781AmZtd869sO8zfsHuw7C"
- for _, vers := range []string{"2a", "2"} {
- for _, cost := range []int{4, 10} {
- s := fmt.Sprintf("$%s$%02d$%s", vers, cost, suffix)
- h := []byte(s)
- actual, err := Cost(h)
- if err != nil {
- t.Errorf("Cost, error: %s", err)
- continue
- }
- if actual != cost {
- t.Errorf("Cost, expected: %d, actual: %d", cost, actual)
- }
- }
- }
- _, err := Cost([]byte("$a$a$" + suffix))
- if err == nil {
- t.Errorf("Cost, malformed but no error returned")
- }
-}
-
-func TestCostValidationInHash(t *testing.T) {
- if testing.Short() {
- return
- }
-
- pass := []byte("mypassword")
-
- for c := 0; c < MinCost; c++ {
- p, _ := newFromPassword(pass, c)
- if p.cost != DefaultCost {
- t.Errorf("newFromPassword should default costs below %d to %d, but was %d", MinCost, DefaultCost, p.cost)
- }
- }
-
- p, _ := newFromPassword(pass, 14)
- if p.cost != 14 {
- t.Errorf("newFromPassword should default cost to 14, but was %d", p.cost)
- }
-
- hp, _ := newFromHash(p.Hash())
- if p.cost != hp.cost {
- t.Errorf("newFromHash should maintain the cost at %d, but was %d", p.cost, hp.cost)
- }
-
- _, err := newFromPassword(pass, 32)
- if err == nil {
- t.Fatalf("newFromPassword: should return a cost error")
- }
- if err != InvalidCostError(32) {
- t.Errorf("newFromPassword: should return cost error, got %#v", err)
- }
-}
-
-func TestCostReturnsWithLeadingZeroes(t *testing.T) {
- hp, _ := newFromPassword([]byte("abcdefgh"), 7)
- cost := hp.Hash()[4:7]
- expected := []byte("07$")
-
- if !bytes.Equal(expected, cost) {
- t.Errorf("single digit costs in hash should have leading zeros: was %v instead of %v", cost, expected)
- }
-}
-
-func TestMinorNotRequired(t *testing.T) {
- noMinorHash := []byte("$2$10$XajjQvNhvvRt5GSeFk1xFeyqRrsxkhBkUiQeg0dt.wU1qD4aFDcga")
- h, err := newFromHash(noMinorHash)
- if err != nil {
- t.Fatalf("No minor hash blew up: %s", err)
- }
- if h.minor != 0 {
- t.Errorf("Should leave minor version at 0, but was %d", h.minor)
- }
-
- if !bytes.Equal(noMinorHash, h.Hash()) {
- t.Errorf("Should generate hash %v, but created %v", noMinorHash, h.Hash())
- }
-}
-
-func BenchmarkEqual(b *testing.B) {
- b.StopTimer()
- passwd := []byte("somepasswordyoulike")
- hash, _ := GenerateFromPassword(passwd, 10)
- b.StartTimer()
- for i := 0; i < b.N; i++ {
- CompareHashAndPassword(hash, passwd)
- }
-}
-
-func BenchmarkGeneration(b *testing.B) {
- b.StopTimer()
- passwd := []byte("mylongpassword1234")
- b.StartTimer()
- for i := 0; i < b.N; i++ {
- GenerateFromPassword(passwd, 10)
- }
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/868863aa/cli/vendor/golang.org/x/crypto/blowfish/block.go
----------------------------------------------------------------------
diff --git a/cli/vendor/golang.org/x/crypto/blowfish/block.go b/cli/vendor/golang.org/x/crypto/blowfish/block.go
deleted file mode 100644
index 9d80f19..0000000
--- a/cli/vendor/golang.org/x/crypto/blowfish/block.go
+++ /dev/null
@@ -1,159 +0,0 @@
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package blowfish
-
-// getNextWord returns the next big-endian uint32 value from the byte slice
-// at the given position in a circular manner, updating the position.
-func getNextWord(b []byte, pos *int) uint32 {
- var w uint32
- j := *pos
- for i := 0; i < 4; i++ {
- w = w<<8 | uint32(b[j])
- j++
- if j >= len(b) {
- j = 0
- }
- }
- *pos = j
- return w
-}
-
-// ExpandKey performs a key expansion on the given *Cipher. Specifically, it
-// performs the Blowfish algorithm's key schedule which sets up the *Cipher's
-// pi and substitution tables for calls to Encrypt. This is used, primarily,
-// by the bcrypt package to reuse the Blowfish key schedule during its
-// set up. It's unlikely that you need to use this directly.
-func ExpandKey(key []byte, c *Cipher) {
- j := 0
- for i := 0; i < 18; i++ {
- // Using inlined getNextWord for performance.
- var d uint32
- for k := 0; k < 4; k++ {
- d = d<<8 | uint32(key[j])
- j++
- if j >= len(key) {
- j = 0
- }
- }
- c.p[i] ^= d
- }
-
- var l, r uint32
- for i := 0; i < 18; i += 2 {
- l, r = encryptBlock(l, r, c)
- c.p[i], c.p[i+1] = l, r
- }
-
- for i := 0; i < 256; i += 2 {
- l, r = encryptBlock(l, r, c)
- c.s0[i], c.s0[i+1] = l, r
- }
- for i := 0; i < 256; i += 2 {
- l, r = encryptBlock(l, r, c)
- c.s1[i], c.s1[i+1] = l, r
- }
- for i := 0; i < 256; i += 2 {
- l, r = encryptBlock(l, r, c)
- c.s2[i], c.s2[i+1] = l, r
- }
- for i := 0; i < 256; i += 2 {
- l, r = encryptBlock(l, r, c)
- c.s3[i], c.s3[i+1] = l, r
- }
-}
-
-// This is similar to ExpandKey, but folds the salt during the key
-// schedule. While ExpandKey is essentially expandKeyWithSalt with an all-zero
-// salt passed in, reusing ExpandKey turns out to be a place of inefficiency
-// and specializing it here is useful.
-func expandKeyWithSalt(key []byte, salt []byte, c *Cipher) {
- j := 0
- for i := 0; i < 18; i++ {
- c.p[i] ^= getNextWord(key, &j)
- }
-
- j = 0
- var l, r uint32
- for i := 0; i < 18; i += 2 {
- l ^= getNextWord(salt, &j)
- r ^= getNextWord(salt, &j)
- l, r = encryptBlock(l, r, c)
- c.p[i], c.p[i+1] = l, r
- }
-
- for i := 0; i < 256; i += 2 {
- l ^= getNextWord(salt, &j)
- r ^= getNextWord(salt, &j)
- l, r = encryptBlock(l, r, c)
- c.s0[i], c.s0[i+1] = l, r
- }
-
- for i := 0; i < 256; i += 2 {
- l ^= getNextWord(salt, &j)
- r ^= getNextWord(salt, &j)
- l, r = encryptBlock(l, r, c)
- c.s1[i], c.s1[i+1] = l, r
- }
-
- for i := 0; i < 256; i += 2 {
- l ^= getNextWord(salt, &j)
- r ^= getNextWord(salt, &j)
- l, r = encryptBlock(l, r, c)
- c.s2[i], c.s2[i+1] = l, r
- }
-
- for i := 0; i < 256; i += 2 {
- l ^= getNextWord(salt, &j)
- r ^= getNextWord(salt, &j)
- l, r = encryptBlock(l, r, c)
- c.s3[i], c.s3[i+1] = l, r
- }
-}
-
-func encryptBlock(l, r uint32, c *Cipher) (uint32, uint32) {
- xl, xr := l, r
- xl ^= c.p[0]
- xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[1]
- xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[2]
- xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[3]
- xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[4]
- xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[5]
- xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[6]
- xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[7]
- xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[8]
- xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[9]
- xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[10]
- xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[11]
- xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[12]
- xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[13]
- xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[14]
- xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[15]
- xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[16]
- xr ^= c.p[17]
- return xr, xl
-}
-
-func decryptBlock(l, r uint32, c *Cipher) (uint32, uint32) {
- xl, xr := l, r
- xl ^= c.p[17]
- xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[16]
- xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[15]
- xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[14]
- xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[13]
- xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[12]
- xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[11]
- xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[10]
- xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[9]
- xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[8]
- xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[7]
- xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[6]
- xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[5]
- xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[4]
- xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[3]
- xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[2]
- xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[1]
- xr ^= c.p[0]
- return xr, xl
-}