From be45aa37fae93cbb205c172dc50a7e045b7d32ba Mon Sep 17 00:00:00 2001 From: Bruno Goncalves Date: Apr 20 2018 06:41:16 +0000 Subject: check if required shell variables are set on basic role make sure items.keys is list --- diff --git a/roles/standard-test-basic/tasks/main.yml b/roles/standard-test-basic/tasks/main.yml index 9a32655..ff9c555 100644 --- a/roles/standard-test-basic/tasks/main.yml +++ b/roles/standard-test-basic/tasks/main.yml @@ -3,6 +3,18 @@ - block: - name: Execute tests shell: | + if [[ -z ${TEST} ]]; then + echo "FAIL: Test case name is not set" >> {{ remote_artifacts }}/test.log + exit + fi + if [[ -z ${TEST_DIR} ]]; then + echo "FAIL: Test directory for $TEST not found" >> {{ remote_artifacts }}/test.log + exit + fi + if [[ -z ${TEST_CMD} ]]; then + echo "FAIL: Does not know how to run $TEST" >> {{ remote_artifacts }}/test.log + exit + fi logfile={{ remote_artifacts }}/test.$(echo $TEST | sed -e 's/\//-/g').log exec 2>>$logfile 1>>$logfile cd $TEST_DIR @@ -24,11 +36,11 @@ #It is also possible to define the test as dictionary, in that case it is possible #to change test directory and test command line parameters while test name is item key TEST: - "{{item if item.keys is not defined else item.keys()[0]}}" + "{{ item if item.keys is not defined else (item.keys()|list)[0] }}" TEST_DIR: - "{{ tenv_workdir }}/{{ item if item.keys is not defined else item[item.keys()[0]]['dir']|default(item.keys()[0]) }}" + "{{ tenv_workdir }}/{{ item if item.keys is not defined else item[(item.keys()|list)[0]]['dir']|default((item.keys()|list)[0]) }}" TEST_CMD: - "{{'./runtest.sh' if item.keys is not defined else item[item.keys()[0]]['run']|default('./runtest.sh')}}" + "{{'./runtest.sh' if item.keys is not defined else item[(item.keys()|list)[0]]['run']|default('./runtest.sh')}}" with_items: - "{{ tests }}"