Uplift cobra dependency to v0.0.6
This version is required to integrate with clusterctl. Starting v0.0.6 cobra Execute() method returns ErrSubCommandRequired if command is executed when its not runnable (Run or RuneE == nil), hence all tests that invoke such commands need to be either remove or adjusted to expect these errors Change-Id: Ia7935c1bf83d47b3a7d3a6c03d1989d53ad57a9a Relates-To: #187
This commit is contained in:
parent
68c97923e1
commit
f34c900ecc
@ -23,11 +23,6 @@ import (
|
||||
|
||||
func TestBootstrap(t *testing.T) {
|
||||
tests := []*testutil.CmdTest{
|
||||
{
|
||||
Name: "bootstrap-cmd-with-defaults",
|
||||
CmdLine: "",
|
||||
Cmd: bootstrap.NewBootstrapCommand(nil),
|
||||
},
|
||||
{
|
||||
Name: "bootstrap-isogen-cmd-with-help",
|
||||
CmdLine: "isogen --help",
|
||||
|
@ -1,14 +0,0 @@
|
||||
Bootstrap ephemeral Kubernetes cluster
|
||||
|
||||
Usage:
|
||||
bootstrap [command]
|
||||
|
||||
Available Commands:
|
||||
help Help about any command
|
||||
isogen Generate bootstrap ISO image
|
||||
remotedirect Bootstrap ephemeral node
|
||||
|
||||
Flags:
|
||||
-h, --help help for bootstrap
|
||||
|
||||
Use "bootstrap [command] --help" for more information about a command.
|
@ -30,11 +30,6 @@ func TestNewClusterCommandReturn(t *testing.T) {
|
||||
fakeRootSettings.InitConfig()
|
||||
|
||||
tests := []*testutil.CmdTest{
|
||||
{
|
||||
Name: "cluster-cmd-with-defaults",
|
||||
CmdLine: "",
|
||||
Cmd: cluster.NewClusterCommand(fakeRootSettings),
|
||||
},
|
||||
{
|
||||
Name: "cluster-initinfra-cmd-with-defaults",
|
||||
CmdLine: "--help",
|
||||
|
@ -1,13 +0,0 @@
|
||||
Interactions with Kubernetes cluster, such as get status, deploy initial infrastructure
|
||||
|
||||
Usage:
|
||||
cluster [command]
|
||||
|
||||
Available Commands:
|
||||
help Help about any command
|
||||
initinfra deploy initinfra components to cluster
|
||||
|
||||
Flags:
|
||||
-h, --help help for cluster
|
||||
|
||||
Use "cluster [command] --help" for more information about a command.
|
@ -39,6 +39,7 @@ __completion_contains_word()
|
||||
__completion_handle_reply()
|
||||
{
|
||||
__completion_debug "${FUNCNAME[0]}"
|
||||
local comp
|
||||
case $cur in
|
||||
-*)
|
||||
if [[ $(type -t compopt) = "builtin" ]]; then
|
||||
@ -50,7 +51,9 @@ __completion_handle_reply()
|
||||
else
|
||||
allflags=("${flags[*]} ${two_word_flags[*]}")
|
||||
fi
|
||||
COMPREPLY=( $(compgen -W "${allflags[*]}" -- "$cur") )
|
||||
while IFS='' read -r comp; do
|
||||
COMPREPLY+=("$comp")
|
||||
done < <(compgen -W "${allflags[*]}" -- "$cur")
|
||||
if [[ $(type -t compopt) = "builtin" ]]; then
|
||||
[[ "${COMPREPLY[0]}" == *= ]] || compopt +o nospace
|
||||
fi
|
||||
@ -100,10 +103,14 @@ __completion_handle_reply()
|
||||
if [[ ${#must_have_one_flag[@]} -ne 0 ]]; then
|
||||
completions+=("${must_have_one_flag[@]}")
|
||||
fi
|
||||
COMPREPLY=( $(compgen -W "${completions[*]}" -- "$cur") )
|
||||
while IFS='' read -r comp; do
|
||||
COMPREPLY+=("$comp")
|
||||
done < <(compgen -W "${completions[*]}" -- "$cur")
|
||||
|
||||
if [[ ${#COMPREPLY[@]} -eq 0 && ${#noun_aliases[@]} -gt 0 && ${#must_have_one_noun[@]} -ne 0 ]]; then
|
||||
COMPREPLY=( $(compgen -W "${noun_aliases[*]}" -- "$cur") )
|
||||
while IFS='' read -r comp; do
|
||||
COMPREPLY+=("$comp")
|
||||
done < <(compgen -W "${noun_aliases[*]}" -- "$cur")
|
||||
fi
|
||||
|
||||
if [[ ${#COMPREPLY[@]} -eq 0 ]]; then
|
||||
@ -138,7 +145,7 @@ __completion_handle_filename_extension_flag()
|
||||
__completion_handle_subdirs_in_dir_flag()
|
||||
{
|
||||
local dir="$1"
|
||||
pushd "${dir}" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1
|
||||
pushd "${dir}" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return
|
||||
}
|
||||
|
||||
__completion_handle_flag()
|
||||
|
@ -173,6 +173,7 @@ __completion_contains_word()
|
||||
__completion_handle_reply()
|
||||
{
|
||||
__completion_debug "${FUNCNAME[0]}"
|
||||
local comp
|
||||
case $cur in
|
||||
-*)
|
||||
if [[ $(type -t compopt) = "builtin" ]]; then
|
||||
@ -184,7 +185,9 @@ __completion_handle_reply()
|
||||
else
|
||||
allflags=("${flags[*]} ${two_word_flags[*]}")
|
||||
fi
|
||||
COMPREPLY=( $(compgen -W "${allflags[*]}" -- "$cur") )
|
||||
while IFS='' read -r comp; do
|
||||
COMPREPLY+=("$comp")
|
||||
done < <(compgen -W "${allflags[*]}" -- "$cur")
|
||||
if [[ $(type -t compopt) = "builtin" ]]; then
|
||||
[[ "${COMPREPLY[0]}" == *= ]] || compopt +o nospace
|
||||
fi
|
||||
@ -234,10 +237,14 @@ __completion_handle_reply()
|
||||
if [[ ${#must_have_one_flag[@]} -ne 0 ]]; then
|
||||
completions+=("${must_have_one_flag[@]}")
|
||||
fi
|
||||
COMPREPLY=( $(compgen -W "${completions[*]}" -- "$cur") )
|
||||
while IFS='' read -r comp; do
|
||||
COMPREPLY+=("$comp")
|
||||
done < <(compgen -W "${completions[*]}" -- "$cur")
|
||||
|
||||
if [[ ${#COMPREPLY[@]} -eq 0 && ${#noun_aliases[@]} -gt 0 && ${#must_have_one_noun[@]} -ne 0 ]]; then
|
||||
COMPREPLY=( $(compgen -W "${noun_aliases[*]}" -- "$cur") )
|
||||
while IFS='' read -r comp; do
|
||||
COMPREPLY+=("$comp")
|
||||
done < <(compgen -W "${noun_aliases[*]}" -- "$cur")
|
||||
fi
|
||||
|
||||
if [[ ${#COMPREPLY[@]} -eq 0 ]]; then
|
||||
@ -272,7 +279,7 @@ __completion_handle_filename_extension_flag()
|
||||
__completion_handle_subdirs_in_dir_flag()
|
||||
{
|
||||
local dir="$1"
|
||||
pushd "${dir}" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1
|
||||
pushd "${dir}" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return
|
||||
}
|
||||
|
||||
__completion_handle_flag()
|
||||
|
@ -25,11 +25,6 @@ import (
|
||||
|
||||
func TestConfig(t *testing.T) {
|
||||
cmdTests := []*testutil.CmdTest{
|
||||
{
|
||||
Name: "config-cmd-with-defaults",
|
||||
CmdLine: "",
|
||||
Cmd: cmd.NewConfigCommand(nil),
|
||||
},
|
||||
{
|
||||
Name: "config-cmd-with-help",
|
||||
CmdLine: "--help",
|
||||
|
@ -1,21 +0,0 @@
|
||||
Modify airshipctl config files using subcommands
|
||||
like "airshipctl config set-context my-context"
|
||||
|
||||
Usage:
|
||||
config [command]
|
||||
|
||||
Available Commands:
|
||||
get-cluster Display a specific cluster or all defined clusters if no name is provided
|
||||
get-context Display a specific context, the current-context or all defined contexts if no name is provided
|
||||
get-credentials Gets a user entry from the airshipctl config
|
||||
help Help about any command
|
||||
init Generate initial configuration files for airshipctl
|
||||
set-cluster Sets a cluster entry in the airshipctl config
|
||||
set-context Switch to a new context or update context values in the airshipctl config
|
||||
set-credentials Sets a user entry in the airshipctl config
|
||||
use-context Switch to a different airshipctl context.
|
||||
|
||||
Flags:
|
||||
-h, --help help for config
|
||||
|
||||
Use "config [command] --help" for more information about a command.
|
@ -23,11 +23,6 @@ import (
|
||||
|
||||
func TestDocument(t *testing.T) {
|
||||
tests := []*testutil.CmdTest{
|
||||
{
|
||||
Name: "document-with-defaults",
|
||||
CmdLine: "",
|
||||
Cmd: document.NewDocumentCommand(nil),
|
||||
},
|
||||
{
|
||||
Name: "document-render-with-help",
|
||||
CmdLine: "-h",
|
||||
|
@ -1,15 +0,0 @@
|
||||
manages deployment documents
|
||||
|
||||
Usage:
|
||||
document [command]
|
||||
|
||||
Available Commands:
|
||||
help Help about any command
|
||||
plugin used as kustomize exec plugin
|
||||
pull pulls documents from remote git repository
|
||||
render Render documents from model
|
||||
|
||||
Flags:
|
||||
-h, --help help for document
|
||||
|
||||
Use "document [command] --help" for more information about a command.
|
@ -32,17 +32,17 @@ func TestRoot(t *testing.T) {
|
||||
tests := []*testutil.CmdTest{
|
||||
{
|
||||
Name: "rootCmd-with-no-defaults",
|
||||
CmdLine: "",
|
||||
CmdLine: "-h",
|
||||
Cmd: getVanillaRootCmd(t),
|
||||
},
|
||||
{
|
||||
Name: "rootCmd-with-defaults",
|
||||
CmdLine: "",
|
||||
CmdLine: "-h",
|
||||
Cmd: getDefaultRootCmd(t),
|
||||
},
|
||||
{
|
||||
Name: "specialized-rootCmd-with-bootstrap",
|
||||
CmdLine: "",
|
||||
CmdLine: "-h",
|
||||
Cmd: getSpecializedRootCmd(t),
|
||||
},
|
||||
}
|
||||
@ -57,16 +57,19 @@ func TestFlagLoading(t *testing.T) {
|
||||
name string
|
||||
args []string
|
||||
expected string
|
||||
Error error
|
||||
}{
|
||||
{
|
||||
name: "default, no flags",
|
||||
args: []string{},
|
||||
expected: "",
|
||||
Error: cobra.ErrSubCommandRequired,
|
||||
},
|
||||
{
|
||||
name: "alternate airshipconfig",
|
||||
args: []string{"--airshipconf", "/custom/path/to/airshipconfig"},
|
||||
expected: "/custom/path/to/airshipconfig",
|
||||
Error: cobra.ErrSubCommandRequired,
|
||||
},
|
||||
}
|
||||
|
||||
@ -80,7 +83,7 @@ func TestFlagLoading(t *testing.T) {
|
||||
rootCmd.SetArgs(tt.args)
|
||||
|
||||
err = rootCmd.Execute()
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, tt.Error, err)
|
||||
|
||||
assert.Equal(t, settings.AirshipConfigPath, tt.expected)
|
||||
})
|
||||
|
2
go.mod
2
go.mod
@ -20,7 +20,7 @@ require (
|
||||
github.com/imdario/mergo v0.3.7 // indirect
|
||||
github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c // indirect
|
||||
github.com/opencontainers/image-spec v1.0.1 // indirect
|
||||
github.com/spf13/cobra v0.0.5
|
||||
github.com/spf13/cobra v0.0.6
|
||||
github.com/stretchr/testify v1.4.0
|
||||
k8s.io/api v0.17.3
|
||||
k8s.io/apiextensions-apiserver v0.17.3
|
||||
|
11
go.sum
11
go.sum
@ -68,11 +68,11 @@ github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee
|
||||
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
||||
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||
github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
||||
github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
||||
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
||||
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
|
||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
@ -173,7 +173,6 @@ github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nA
|
||||
github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
|
||||
github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
|
||||
github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
|
||||
github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc=
|
||||
github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
|
||||
github.com/go-openapi/spec v0.19.4 h1:ixzUSnHTd6hCemgtAJgluaTSGYpLNpJY4mA2DIkdOAo=
|
||||
github.com/go-openapi/spec v0.19.4/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
|
||||
@ -328,10 +327,7 @@ github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN
|
||||
github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.7.0 h1:aizVhC/NAAcKWb+5QsU1iNOZb4Yws5UO2I+aIprQITM=
|
||||
github.com/mailru/easyjson v0.7.0 h1:aizVhC/NAAcKWb+5QsU1iNOZb4Yws5UO2I+aIprQITM=
|
||||
github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
|
||||
github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
|
||||
github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s=
|
||||
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
|
||||
@ -409,6 +405,7 @@ github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYe
|
||||
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo=
|
||||
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
|
||||
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/securego/gosec v0.0.0-20191002120514-e680875ea14d/go.mod h1:w5+eXa0mYznDkHaMCXA4XYffjlH+cy1oyKbfzJXa2Do=
|
||||
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
|
||||
github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=
|
||||
@ -417,6 +414,7 @@ github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada/go.mod h1:WWnYX4lz
|
||||
github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc=
|
||||
github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk=
|
||||
github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ=
|
||||
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||
github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
|
||||
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
|
||||
@ -427,8 +425,9 @@ github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B
|
||||
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
|
||||
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
|
||||
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
||||
github.com/spf13/cobra v0.0.5 h1:f0B+LkLX6DtmRH1isoNA9VTtNUK9K8xYd28JNNfOv/s=
|
||||
github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
|
||||
github.com/spf13/cobra v0.0.6 h1:breEStsVwemnKh2/s6gMvSdMEkwW0sK8vGStnlVBMCs=
|
||||
github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=
|
||||
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
|
||||
github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||
github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||
|
Loading…
Reference in New Issue
Block a user