From 845f3b690b1ec2e78c02f2482f290fda4dcc6354 Mon Sep 17 00:00:00 2001 From: Ahmet Alp Balkan Date: Sat, 22 Dec 2018 13:22:08 -0800 Subject: [PATCH] test: enable travis-ci with bats (#108) - add .travis.yml. - move bats fixtures to .bats extension, since it allows detection of test files automatically by file extension. - use BATS_TEST_DIRNAME variable to compute location of COMMAND. - IMPORTANT: use `echo "$output">&2` before final check so that we can debug the test cases by their output Ref #2. Signed-off-by: Ahmet Alp Balkan --- .travis.yml | 8 ++++++++ test/{kubectx.sh => kubectx.bats} | 2 +- test/{kubens.sh => kubens.bats} | 4 +++- 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 .travis.yml rename test/{kubectx.sh => kubectx.bats} (81%) rename test/{kubens.sh => kubens.bats} (68%) diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..05535f8d --- /dev/null +++ b/.travis.yml @@ -0,0 +1,8 @@ +before_install: + - sudo add-apt-repository ppa:duggan/bats --yes + - sudo apt-get update -qq + - sudo apt-get install -qq bats + - sudo curl -fsSL -o /usr/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/v1.13.1/bin/linux/amd64/kubectl + - sudo chmod +x /usr/bin/kubectl +script: + - bats test/ diff --git a/test/kubectx.sh b/test/kubectx.bats similarity index 81% rename from test/kubectx.sh rename to test/kubectx.bats index 010227af..42057fc3 100644 --- a/test/kubectx.sh +++ b/test/kubectx.bats @@ -1,6 +1,6 @@ #!/usr/bin/env bats -COMMAND=../kubectx +COMMAND="$BATS_TEST_DIRNAME/../kubectx" @test "--help should not fail" { run ${COMMAND} --help diff --git a/test/kubens.sh b/test/kubens.bats similarity index 68% rename from test/kubens.sh rename to test/kubens.bats index 3aedb715..e3aae963 100644 --- a/test/kubens.sh +++ b/test/kubens.bats @@ -1,13 +1,15 @@ #!/usr/bin/env bats -COMMAND=../kubens +COMMAND="${BATS_TEST_DIRNAME}/../kubens" @test "--help should not fail" { run ${COMMAND} --help + echo "$output">&2 [ "$status" -eq 0 ] } @test "-h should not fail" { run ${COMMAND} -h + echo "$output">&2 [ "$status" -eq 0 ] }