From 1acebff98b732b9771b965f38268b8ac7df0a710 Mon Sep 17 00:00:00 2001 From: Andrei Stepanov Date: May 03 2019 14:11:45 +0000 Subject: Fix a case for basic role, where run is complex bash-script Signed-off-by: Andrei Stepanov --- diff --git a/roles/standard-test-basic/tasks/main.yml b/roles/standard-test-basic/tasks/main.yml index 692b6f1..1985f33 100644 --- a/roles/standard-test-basic/tasks/main.yml +++ b/roles/standard-test-basic/tasks/main.yml @@ -1,13 +1,24 @@ --- +# If you make a change, then test with next playbook: +# -hosts: localhost +# roles: +# - role: standard-test-basic +# tags: +# - classic +# tests: +# - test one: +# dir: tdir for test 1 +# run: echo '$'; echo '\$'; echo a1; echo "a$2"; a3="a3\na3"; echo -e ${a3}; echo \$a4; echo '$a5'; echo ">\"a6\"<"; echo "a7'\""; echo "(a8)" ; (echo "a9"); echo $(echo "a10"); echo 'a11$a11"'; echo '\\a12\\'; echo '"a13';false + - block: - name: Execute tests - script: - run-basic-test -v - --workdir {{ tenv_workdir | regex_escape() }}/{{ item if item.keys is not defined else item[(item.keys()|list)[0]]['dir']|default((item.keys()|list)[0]) | regex_escape() }} - --artifactsdir {{ remote_artifacts | regex_escape() }} - --test {{ item if item.keys is not defined else (item.keys()|list)[0] | regex_escape() }} - --cmd {{ './runtest.sh' if item.keys is not defined else item[(item.keys()|list)[0]]['run']|default('./runtest.sh') | regex_escape() }} + script: | + run-basic-test -v \ + --workdir "{{ tenv_workdir }}/{{ item if item.keys is not defined else item[(item.keys()|list)[0]]['dir']|default((item.keys()|list)[0]) }}" \ + --artifactsdir "{{ remote_artifacts }}" \ + --test "{{ item if item.keys is not defined else (item.keys()|list)[0] }}" \ + --cmd "{{ './runtest.sh' if item.keys is not defined else item[(item.keys()|list)[0]]['run']|default('./runtest.sh') | regex_replace('\\', '\\\\') | regex_replace('\"', '\"') | regex_replace('\$', '\\$') }}" with_items: - "{{ tests }}" diff --git a/tests/basic.yml b/tests/basic.yml index 8233a04..e33dbfe 100644 --- a/tests/basic.yml +++ b/tests/basic.yml @@ -20,6 +20,23 @@ - import_tasks: shared-tasks/artifacts_test_env.yml - import_tasks: shared-tasks/artifacts_test_runner.yml +# Tests for basic role more advanced check +- hosts: localhost + tags: + - atomic + - classic + - container + roles: + - role: standard-test-basic + tests: + - basic with advanced cmdline: + dir: ./ + run: | + echo -n "Cmdline test: "; a="some text"; [ "x$a" = "xsome text" ] && (echo "Passed"; exit 0) || (echo "Failed"; exit 1) + tasks: + - import_tasks: shared-tasks/artifacts_test_env.yml + - import_tasks: shared-tasks/artifacts_test_runner.yml + # Make sure the role behaves correctly if test fails - hosts: localhost tags: