From 53c1fcf2c62448c5a5561eda6e8d9d251af1054b Mon Sep 17 00:00:00 2001 From: Xiangyang Chu Date: Wed, 27 Feb 2019 09:27:13 +0800 Subject: [PATCH] Fix shellchecks follow the `${var:?}` pattern --- hack/.shellcheck_failures | 3 - test/cmd/storage.sh | 56 +++++++++--------- test/cmd/template-output.sh | 112 ++++++++++++++++++------------------ test/cmd/version.sh | 2 +- 4 files changed, 85 insertions(+), 88 deletions(-) diff --git a/hack/.shellcheck_failures b/hack/.shellcheck_failures index 63ba8fb6ead..1a14a643abc 100644 --- a/hack/.shellcheck_failures +++ b/hack/.shellcheck_failures @@ -103,9 +103,6 @@ ./test/cmd/request-timeout.sh ./test/cmd/run.sh ./test/cmd/save-config.sh -./test/cmd/storage.sh -./test/cmd/template-output.sh -./test/cmd/version.sh ./test/e2e_node/conformance/run_test.sh ./test/e2e_node/environment/setup_host.sh ./test/e2e_node/gubernator.sh diff --git a/test/cmd/storage.sh b/test/cmd/storage.sh index ce387e2e611..c9b6440dab2 100755 --- a/test/cmd/storage.sh +++ b/test/cmd/storage.sh @@ -27,19 +27,19 @@ run_persistent_volumes_tests() { ### Create and delete persistent volume examples # Pre-condition: no persistent volumes currently exist - kube::test::get_object_assert pv "{{range.items}}{{$id_field}}:{{end}}" '' + kube::test::get_object_assert pv "{{range.items}}{{${id_field:?}}}:{{end}}" '' # Command - kubectl create -f test/fixtures/doc-yaml/user-guide/persistent-volumes/volumes/local-01.yaml "${kube_flags[@]}" - kube::test::get_object_assert pv "{{range.items}}{{$id_field}}:{{end}}" 'pv0001:' - kubectl delete pv pv0001 "${kube_flags[@]}" - kubectl create -f test/fixtures/doc-yaml/user-guide/persistent-volumes/volumes/local-02.yaml "${kube_flags[@]}" - kube::test::get_object_assert pv "{{range.items}}{{$id_field}}:{{end}}" 'pv0002:' - kubectl delete pv pv0002 "${kube_flags[@]}" - kubectl create -f test/fixtures/doc-yaml/user-guide/persistent-volumes/volumes/gce.yaml "${kube_flags[@]}" - kube::test::get_object_assert pv "{{range.items}}{{$id_field}}:{{end}}" 'pv0003:' - kubectl delete pv pv0003 "${kube_flags[@]}" + kubectl create -f test/fixtures/doc-yaml/user-guide/persistent-volumes/volumes/local-01.yaml "${kube_flags[@]:?}" + kube::test::get_object_assert pv "{{range.items}}{{${id_field:?}}}:{{end}}" 'pv0001:' + kubectl delete pv pv0001 "${kube_flags[@]:?}" + kubectl create -f test/fixtures/doc-yaml/user-guide/persistent-volumes/volumes/local-02.yaml "${kube_flags[@]:?}" + kube::test::get_object_assert pv "{{range.items}}{{${id_field:?}}}:{{end}}" 'pv0002:' + kubectl delete pv pv0002 "${kube_flags[@]:?}" + kubectl create -f test/fixtures/doc-yaml/user-guide/persistent-volumes/volumes/gce.yaml "${kube_flags[@]:?}" + kube::test::get_object_assert pv "{{range.items}}{{${id_field:?}}}:{{end}}" 'pv0003:' + kubectl delete pv pv0003 "${kube_flags[@]:?}" # Post-condition: no PVs - kube::test::get_object_assert pv "{{range.items}}{{$id_field}}:{{end}}" '' + kube::test::get_object_assert pv "{{range.items}}{{${id_field:?}}}:{{end}}" '' set +o nounset set +o errexit @@ -54,21 +54,21 @@ run_persistent_volume_claims_tests() { ### Create and delete persistent volume claim examples # Pre-condition: no persistent volume claims currently exist - kube::test::get_object_assert pvc "{{range.items}}{{$id_field}}:{{end}}" '' + kube::test::get_object_assert pvc "{{range.items}}{{${id_field:?}}}:{{end}}" '' # Command - kubectl create -f test/fixtures/doc-yaml/user-guide/persistent-volumes/claims/claim-01.yaml "${kube_flags[@]}" - kube::test::get_object_assert pvc "{{range.items}}{{$id_field}}:{{end}}" 'myclaim-1:' - kubectl delete pvc myclaim-1 "${kube_flags[@]}" + kubectl create -f test/fixtures/doc-yaml/user-guide/persistent-volumes/claims/claim-01.yaml "${kube_flags[@]:?}" + kube::test::get_object_assert pvc "{{range.items}}{{${id_field:?}}}:{{end}}" 'myclaim-1:' + kubectl delete pvc myclaim-1 "${kube_flags[@]:?}" - kubectl create -f test/fixtures/doc-yaml/user-guide/persistent-volumes/claims/claim-02.yaml "${kube_flags[@]}" - kube::test::get_object_assert pvc "{{range.items}}{{$id_field}}:{{end}}" 'myclaim-2:' - kubectl delete pvc myclaim-2 "${kube_flags[@]}" + kubectl create -f test/fixtures/doc-yaml/user-guide/persistent-volumes/claims/claim-02.yaml "${kube_flags[@]:?}" + kube::test::get_object_assert pvc "{{range.items}}{{${id_field:?}}}:{{end}}" 'myclaim-2:' + kubectl delete pvc myclaim-2 "${kube_flags[@]:?}" - kubectl create -f test/fixtures/doc-yaml/user-guide/persistent-volumes/claims/claim-03.json "${kube_flags[@]}" - kube::test::get_object_assert pvc "{{range.items}}{{$id_field}}:{{end}}" 'myclaim-3:' - kubectl delete pvc myclaim-3 "${kube_flags[@]}" + kubectl create -f test/fixtures/doc-yaml/user-guide/persistent-volumes/claims/claim-03.json "${kube_flags[@]:?}" + kube::test::get_object_assert pvc "{{range.items}}{{${id_field:?}}}:{{end}}" 'myclaim-3:' + kubectl delete pvc myclaim-3 "${kube_flags[@]:?}" # Post-condition: no PVCs - kube::test::get_object_assert pvc "{{range.items}}{{$id_field}}:{{end}}" '' + kube::test::get_object_assert pvc "{{range.items}}{{${id_field:?}}}:{{end}}" '' set +o nounset set +o errexit @@ -82,9 +82,9 @@ run_storage_class_tests() { ### Create and delete storage class # Pre-condition: no storage classes currently exist - kube::test::get_object_assert storageclass "{{range.items}}{{$id_field}}:{{end}}" '' + kube::test::get_object_assert storageclass "{{range.items}}{{${id_field:?}}}:{{end}}" '' # Command - kubectl create -f - "${kube_flags[@]}" << __EOF__ + kubectl create -f - "${kube_flags[@]:?}" << __EOF__ { "kind": "StorageClass", "apiVersion": "storage.k8s.io/v1", @@ -98,11 +98,11 @@ run_storage_class_tests() { } } __EOF__ - kube::test::get_object_assert storageclass "{{range.items}}{{$id_field}}:{{end}}" 'storage-class-name:' - kube::test::get_object_assert sc "{{range.items}}{{$id_field}}:{{end}}" 'storage-class-name:' - kubectl delete storageclass storage-class-name "${kube_flags[@]}" + kube::test::get_object_assert storageclass "{{range.items}}{{${id_field:?}}}:{{end}}" 'storage-class-name:' + kube::test::get_object_assert sc "{{range.items}}{{${id_field:?}}}:{{end}}" 'storage-class-name:' + kubectl delete storageclass storage-class-name "${kube_flags[@]:?}" # Post-condition: no storage classes - kube::test::get_object_assert storageclass "{{range.items}}{{$id_field}}:{{end}}" '' + kube::test::get_object_assert storageclass "{{range.items}}{{${id_field:?}}}:{{end}}" '' set +o nounset set +o errexit diff --git a/test/cmd/template-output.sh b/test/cmd/template-output.sh index 18ad4df13cf..3e2381fcf43 100755 --- a/test/cmd/template-output.sh +++ b/test/cmd/template-output.sh @@ -26,83 +26,83 @@ run_template_output_tests() { ### Test global request timeout option # Pre-condition: no POD exists create_and_use_new_namespace - kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" '' + kube::test::get_object_assert pods "{{range.items}}{{${id_field:?}}}:{{end}}" '' # Command # check that create supports --template output - kubectl create "${kube_flags[@]}" -f test/fixtures/doc-yaml/admin/limitrange/valid-pod.yaml + kubectl create "${kube_flags[@]:?}" -f test/fixtures/doc-yaml/admin/limitrange/valid-pod.yaml # Post-condition: valid-pod POD is created - kubectl get "${kube_flags[@]}" pods -o json - kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" 'valid-pod:' + kubectl get "${kube_flags[@]:?}" pods -o json + kube::test::get_object_assert pods "{{range.items}}{{${id_field:?}}}:{{end}}" 'valid-pod:' # check that patch command supports --template output - output_message=$(kubectl "${kube_flags[@]}" patch --dry-run pods/valid-pod -p '{"patched":"value3"}' --type=merge --template="{{ .metadata.name }}:") + output_message=$(kubectl "${kube_flags[@]:?}" patch --dry-run pods/valid-pod -p '{"patched":"value3"}' --type=merge --template="{{ .metadata.name }}:") kube::test::if_has_string "${output_message}" 'valid-pod:' # check that label command supports --template output - output_message=$(kubectl "${kube_flags[@]}" label --dry-run pods/valid-pod label=value --template="{{ .metadata.name }}:") + output_message=$(kubectl "${kube_flags[@]:?}" label --dry-run pods/valid-pod label=value --template="{{ .metadata.name }}:") kube::test::if_has_string "${output_message}" 'valid-pod:' # check that annotate command supports --template output - output_message=$(kubectl "${kube_flags[@]}" annotate --dry-run pods/valid-pod annotation=value --template="{{ .metadata.name }}:") + output_message=$(kubectl "${kube_flags[@]:?}" annotate --dry-run pods/valid-pod annotation=value --template="{{ .metadata.name }}:") kube::test::if_has_string "${output_message}" 'valid-pod:' # check that apply command supports --template output - output_message=$(kubectl "${kube_flags[@]}" apply --dry-run -f test/fixtures/doc-yaml/admin/limitrange/valid-pod.yaml --template="{{ .metadata.name }}:") + output_message=$(kubectl "${kube_flags[@]:?}" apply --dry-run -f test/fixtures/doc-yaml/admin/limitrange/valid-pod.yaml --template="{{ .metadata.name }}:") kube::test::if_has_string "${output_message}" 'valid-pod:' # check that create command supports --template output - output_message=$(kubectl "${kube_flags[@]}" create -f test/fixtures/doc-yaml/admin/limitrange/valid-pod.yaml --dry-run --template="{{ .metadata.name }}:") + output_message=$(kubectl "${kube_flags[@]:?}" create -f test/fixtures/doc-yaml/admin/limitrange/valid-pod.yaml --dry-run --template="{{ .metadata.name }}:") kube::test::if_has_string "${output_message}" 'valid-pod:' # check that autoscale command supports --template output - output_message=$(kubectl "${kube_flags[@]}" autoscale --max=2 -f hack/testdata/scale-deploy-1.yaml --dry-run --template="{{ .metadata.name }}:") + output_message=$(kubectl "${kube_flags[@]:?}" autoscale --max=2 -f hack/testdata/scale-deploy-1.yaml --dry-run --template="{{ .metadata.name }}:") kube::test::if_has_string "${output_message}" 'scale-1:' # check that expose command supports --template output - output_message=$(kubectl "${kube_flags[@]}" expose -f hack/testdata/redis-slave-replicaset.yaml --save-config --port=80 --target-port=8000 --dry-run --template="{{ .metadata.name }}:") + output_message=$(kubectl "${kube_flags[@]:?}" expose -f hack/testdata/redis-slave-replicaset.yaml --save-config --port=80 --target-port=8000 --dry-run --template="{{ .metadata.name }}:") kube::test::if_has_string "${output_message}" 'redis-slave:' # check that convert command supports --template output - output_message=$(kubectl "${kube_flags[@]}" convert -f hack/testdata/deployment-revision1.yaml --output-version=apps/v1beta1 --template="{{ .metadata.name }}:") + output_message=$(kubectl "${kube_flags[@]:?}" convert -f hack/testdata/deployment-revision1.yaml --output-version=apps/v1beta1 --template="{{ .metadata.name }}:") kube::test::if_has_string "${output_message}" 'nginx:' # check that run command supports --template output - output_message=$(kubectl "${kube_flags[@]}" run --dry-run --template="{{ .metadata.name }}:" pi --image=perl --restart=OnFailure -- perl -Mbignum=bpi -wle 'print bpi(2000)') + output_message=$(kubectl "${kube_flags[@]:?}" run --dry-run --template="{{ .metadata.name }}:" pi --image=perl --restart=OnFailure -- perl -Mbignum=bpi -wle 'print bpi(2000)') kube::test::if_has_string "${output_message}" 'pi:' # check that taint command supports --template output - output_message=$(kubectl "${kube_flags[@]}" taint node 127.0.0.1 dedicated=foo:PreferNoSchedule --template="{{ .metadata.name }}:") + output_message=$(kubectl "${kube_flags[@]:?}" taint node 127.0.0.1 dedicated=foo:PreferNoSchedule --template="{{ .metadata.name }}:") kube::test::if_has_string "${output_message}" '127.0.0.1:' # untaint node kubectl taint node 127.0.0.1 dedicated- # check that "apply set-last-applied" command supports --template output - kubectl "${kube_flags[@]}" create -f test/e2e/testing-manifests/statefulset/cassandra/controller.yaml - output_message=$(kubectl "${kube_flags[@]}" apply set-last-applied -f test/e2e/testing-manifests/statefulset/cassandra/controller.yaml --dry-run --create-annotation --template="{{ .metadata.name }}:") + kubectl "${kube_flags[@]:?}" create -f test/e2e/testing-manifests/statefulset/cassandra/controller.yaml + output_message=$(kubectl "${kube_flags[@]:?}" apply set-last-applied -f test/e2e/testing-manifests/statefulset/cassandra/controller.yaml --dry-run --create-annotation --template="{{ .metadata.name }}:") kube::test::if_has_string "${output_message}" 'cassandra:' # check that "auth reconcile" command supports --template output - output_message=$(kubectl "${kube_flags[@]}" auth reconcile --dry-run -f test/fixtures/pkg/kubectl/cmd/auth/rbac-resource-plus.yaml --template="{{ .metadata.name }}:") + output_message=$(kubectl "${kube_flags[@]:?}" auth reconcile --dry-run -f test/fixtures/pkg/kubectl/cmd/auth/rbac-resource-plus.yaml --template="{{ .metadata.name }}:") kube::test::if_has_string "${output_message}" 'testing-CR:testing-CRB:testing-RB:testing-R:' # check that "create clusterrole" command supports --template output - output_message=$(kubectl "${kube_flags[@]}" create clusterrole --template="{{ .metadata.name }}:" --verb get myclusterrole --non-resource-url /logs/ --resource pods) + output_message=$(kubectl "${kube_flags[@]:?}" create clusterrole --template="{{ .metadata.name }}:" --verb get myclusterrole --non-resource-url /logs/ --resource pods) kube::test::if_has_string "${output_message}" 'myclusterrole:' # check that "create clusterrolebinding" command supports --template output - output_message=$(kubectl "${kube_flags[@]}" create clusterrolebinding foo --clusterrole=myclusterrole --template="{{ .metadata.name }}:") + output_message=$(kubectl "${kube_flags[@]:?}" create clusterrolebinding foo --clusterrole=myclusterrole --template="{{ .metadata.name }}:") kube::test::if_has_string "${output_message}" 'foo:' # check that "create configmap" command supports --template output - output_message=$(kubectl "${kube_flags[@]}" create configmap cm --dry-run --template="{{ .metadata.name }}:") + output_message=$(kubectl "${kube_flags[@]:?}" create configmap cm --dry-run --template="{{ .metadata.name }}:") kube::test::if_has_string "${output_message}" 'cm:' # check that "create deployment" command supports --template output - output_message=$(kubectl "${kube_flags[@]}" create deployment deploy --image=nginx --template="{{ .metadata.name }}:") + output_message=$(kubectl "${kube_flags[@]:?}" create deployment deploy --image=nginx --template="{{ .metadata.name }}:") kube::test::if_has_string "${output_message}" 'deploy:' # check that "create job" command supports --template output - kubectl create "${kube_flags[@]}" -f - <