From 802c0568c27be9f25607cc4007e5ff8936995060 Mon Sep 17 00:00:00 2001 From: Bruno Goncalves Date: May 14 2020 11:48:20 +0000 Subject: add regression test for handling abort playbook related to https://pagure.io/standard-test-roles/pull-request/382 --- diff --git a/tests/invoke-integration.sh b/tests/invoke-integration.sh index 96c577b..d663153 100755 --- a/tests/invoke-integration.sh +++ b/tests/invoke-integration.sh @@ -1,5 +1,7 @@ #!/bin/sh +set -x + # # This invokes the tests using the local inventory and roles rather # than what's installed on system. This is aslight deviation from @@ -8,6 +10,34 @@ cd $(dirname $0)/.. -rm -rf /tmp/artifacts/ /tmp/local-artifacts/ -TEST_ARTIFACTS=/tmp PATH=$PWD/scripts:$PATH ANSIBLE_INVENTORY=$PWD/inventory \ - ansible-playbook --extra-vars=artifacts=/tmp/local-artifacts --tags=classic tests/tests.yml +export TEST_ARTIFACTS=/tmp +export PATH=$PWD/scripts:$PATH +export ANSIBLE_INVENTORY=$PWD/inventory + +rm -rf /tmp/artifacts +ansible-playbook --tags=classic tests/tests.yml + +rm -rf /tmp/artifacts/ +timeout 2m ansible-playbook --tags=classic tests/test-basic-abort-playbook.yml +sleep 2 # sleep few seconds to make sure logs are synced +# make sure expected files are created on TEST_ARTIFACTS +if [[ ! -f ${TEST_ARTIFACTS}/artifacts/ERROR-str_test-abort-playbook-basic.log ]] || \ + [[ ! -f ${TEST_ARTIFACTS}/artifacts/test.log ]] || \ + [[ ! -f ${TEST_ARTIFACTS}/artifacts/results.yml ]]; then + ls ${TEST_ARTIFACTS}/artifacts + echo "FAIL: Not all expected files were created when playbook aborts on basic role" + exit 1 +fi + +rm -rf /tmp/artifacts/ +timeout 2m ansible-playbook --tags=classic tests/test-beakerlib-abort-playbook.yml +sleep 2 # sleep few seconds to make sure logs are synced +# make sure expected files are created on TEST_ARTIFACTS +if [[ ! -f ${TEST_ARTIFACTS}/artifacts/ERROR-test-beakerlib-abort-playbook-err.log ]] || \ + [[ ! -f ${TEST_ARTIFACTS}/artifacts/ERROR-test-beakerlib-abort-playbook-err.log ]] || \ + [[ ! -f ${TEST_ARTIFACTS}/artifacts/test.log ]] || \ + [[ ! -f ${TEST_ARTIFACTS}/artifacts/results.yml ]]; then + ls ${TEST_ARTIFACTS}/artifacts + echo "FAIL: Not all expected files were created when playbook aborts on beakerlib role" + exit 1 +fi diff --git a/tests/test-basic-abort-playbook.yml b/tests/test-basic-abort-playbook.yml new file mode 100644 index 0000000..ec792fa --- /dev/null +++ b/tests/test-basic-abort-playbook.yml @@ -0,0 +1,9 @@ +# Make sure the role report error when playbook aborts +- hosts: localhost + tags: + - classic + roles: + - role: standard-test-basic + tests: + - test-abort-playbook-basic: + run: sleep 240 diff --git a/tests/test-beakerlib-abort-playbook.yml b/tests/test-beakerlib-abort-playbook.yml new file mode 100644 index 0000000..be50400 --- /dev/null +++ b/tests/test-beakerlib-abort-playbook.yml @@ -0,0 +1,8 @@ +# Make sure the role report error when playbook aborts +- hosts: localhost + tags: + - classic + roles: + - role: standard-test-beakerlib + tests: + - test-beakerlib-abort-playbook diff --git a/tests/test-beakerlib-abort-playbook/runtest.sh b/tests/test-beakerlib-abort-playbook/runtest.sh new file mode 100644 index 0000000..94d5e17 --- /dev/null +++ b/tests/test-beakerlib-abort-playbook/runtest.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="bash" + +rlJournalStart + rlPhaseStartTest "test abort playbook with beakerlib role" + rlRun "sleep 240" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd