From 8fdbde907e887901e157becaccf63e50c164fdca Mon Sep 17 00:00:00 2001 From: Oyvind Albrigtsen Date: Tue, 21 Mar 2023 12:16:59 +0100 Subject: [PATCH] - Add CI tests - Update gitignore --- .gitignore | 83 +++++----------------------------------------- tests/run_tests.sh | 32 ++++++++++++++++++ tests/tests.yml | 19 +++++++++++ 3 files changed, 60 insertions(+), 74 deletions(-) create mode 100755 tests/run_tests.sh create mode 100644 tests/tests.yml diff --git a/.gitignore b/.gitignore index 5f453f8..2d7a581 100644 --- a/.gitignore +++ b/.gitignore @@ -1,74 +1,9 @@ -SOURCES/Jinja2-3.0.2.tar.gz -SOURCES/MarkupSafe-2.0.1.tar.gz -SOURCES/PyYAML-6.0.tar.gz -SOURCES/aliyun-python-sdk-core-2.13.1.tar.gz -SOURCES/aliyun-python-sdk-ecs-4.9.3.tar.gz -SOURCES/aliyun-python-sdk-vpc-3.0.2.tar.gz -SOURCES/botocore-1.23.46.tar.gz -SOURCES/cachetools-4.2.4.tar.gz -SOURCES/certifi-2021.10.8.tar.gz -SOURCES/chardet-4.0.0.tar.gz -SOURCES/charset-normalizer-2.0.7.tar.gz -SOURCES/fence-agents-4.2.1.tar.gz -SOURCES/google-auth-2.3.0.tar.gz -SOURCES/httplib2-0.19.1-py3-none-any.whl -SOURCES/idna-3.3.tar.gz -SOURCES/jmespath-0.10.0.tar.gz -SOURCES/kubernetes-12.0.1.tar.gz -SOURCES/oauthlib-3.1.1.tar.gz -SOURCES/openshift-0.12.1.tar.gz -SOURCES/packaging-21.2-py3-none-any.whl -SOURCES/pyasn1-0.4.8.tar.gz -SOURCES/pyasn1-modules-0.2.8.tar.gz -SOURCES/pycryptodome-3.6.4.tar.gz -SOURCES/pyparsing-2.4.7-py2.py3-none-any.whl -SOURCES/python-dateutil-2.8.2.tar.gz -SOURCES/python-string-utils-1.0.0.tar.gz -SOURCES/requests-2.26.0.tar.gz -SOURCES/requests-oauthlib-1.3.0.tar.gz -SOURCES/rsa-4.7.2.tar.gz -SOURCES/ruamel.yaml-0.17.16.tar.gz -SOURCES/ruamel.yaml.clib-0.2.6.tar.gz -SOURCES/setuptools-58.3.0.tar.gz -SOURCES/setuptools_scm-6.3.2.tar.gz -SOURCES/six-1.16.0.tar.gz -SOURCES/tomli-1.0.1.tar.gz -SOURCES/urllib3-1.26.7.tar.gz -SOURCES/websocket-client-1.2.1.tar.gz -/Jinja2-3.0.2.tar.gz -/MarkupSafe-2.0.1.tar.gz -/PyYAML-6.0.tar.gz -/aliyun-python-sdk-core-2.13.1.tar.gz -/aliyun-python-sdk-ecs-4.9.3.tar.gz -/aliyun-python-sdk-vpc-3.0.2.tar.gz -/botocore-1.23.46.tar.gz -/cachetools-4.2.4.tar.gz -/certifi-2021.10.8.tar.gz -/chardet-4.0.0.tar.gz -/charset-normalizer-2.0.7.tar.gz -/fence-agents-4.2.1.tar.gz -/google-auth-2.3.0.tar.gz -/httplib2-0.19.1-py3-none-any.whl -/idna-3.3.tar.gz -/jmespath-0.10.0.tar.gz -/kubernetes-12.0.1.tar.gz -/oauthlib-3.1.1.tar.gz -/openshift-0.12.1.tar.gz -/packaging-21.2-py3-none-any.whl -/pyasn1-0.4.8.tar.gz -/pyasn1-modules-0.2.8.tar.gz -/pycryptodome-3.6.4.tar.gz -/pyparsing-2.4.7-py2.py3-none-any.whl -/python-dateutil-2.8.2.tar.gz -/python-string-utils-1.0.0.tar.gz -/requests-2.26.0.tar.gz -/requests-oauthlib-1.3.0.tar.gz -/rsa-4.7.2.tar.gz -/ruamel.yaml-0.17.16.tar.gz -/ruamel.yaml.clib-0.2.6.tar.gz -/setuptools-58.3.0.tar.gz -/setuptools_scm-6.3.2.tar.gz -/six-1.16.0.tar.gz -/tomli-1.0.1.tar.gz -/urllib3-1.26.7.tar.gz -/websocket-client-1.2.1.tar.gz +/*.rpm +/*.tar.?z +/*.whl +/.*.swp +/.build-*.log +/*.txt +/*/ +!/tests/ +/tests/*.retry diff --git a/tests/run_tests.sh b/tests/run_tests.sh new file mode 100755 index 0000000..d9e5fd0 --- /dev/null +++ b/tests/run_tests.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +err=0 + +if [ "$(pcs stonith list 2> /dev/null | wc -l)" -eq 0 ]; then + echo "ERROR: pcs: no agents available..." + err=$((err+1)) +fi +echo "INFO: pcs: agents available..." + +# test bundled libraries +declare -A libs=( + ["aliyunsdkcore"]="sys.path.insert(0, '/usr/lib/fence-agents/bundled/aliyun');" + ["azure"]="sys.path.insert(0, '/usr/lib/fence-agents/bundled/azure');" + ["msrestazure"]="sys.path.insert(0, '/usr/lib/fence-agents/bundled/azure');" + ) +for lib in "${!libs[@]}"; do + output=$(python3 -c "import sys; sys.path.append('/usr/share/fence'); \ + ${libs[$lib]} \ + import $lib" 2>&1) + if [ $? -ne 0 ]; then + echo -e "ERROR: Failed to import $lib:\n$output" + err=$((err+1)) + else + echo "INFO: importing $lib works..." + fi +done + +if [ $err -ge 1 ]; then + echo -e "\nERROR: $err tests FAILED..." + exit 1 +fi diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..0cbc907 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,19 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + - container + required_packages: + - fence-agents-all + - fence-agents-aliyun + - fence-agents-aws + - fence-agents-azure-arm + - fence-agents-gce + - fence-agents-virsh + - pcs + + tests: + - subpackage_tests: + dir: . + run: ./run_tests.sh