- Add CI tests

- Update gitignore
This commit is contained in:
Oyvind Albrigtsen 2023-03-21 12:16:59 +01:00
parent 5cbb9c28c0
commit 8fdbde907e
3 changed files with 60 additions and 74 deletions

83
.gitignore vendored
View File

@ -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

32
tests/run_tests.sh Executable file
View File

@ -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

19
tests/tests.yml Normal file
View File

@ -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