ansible/test/utils/shippable/shippable.sh
Matt Clay d66ce40ecb Overhaul ansible-test sanity implementation. (#22177)
- Tests are run to completion instead of stopping on first failure.
- Test results are now parsed instead of passing through to the console.
- Test results can be saved in junit xml format.
- Test results will show up on the Shippable "Tests" result tab.
- Added an experimental --lint option for easier integration with other tools.
- Code smell tests are now usable with the --list-tests, --test and --skip-test options.
- Code split out from executor.py into sanity.py.
- Rename download-logs to download.py and add support for test and coverage results.
- Miscellaneous improvements.
2017-03-02 12:36:46 -08:00

42 lines
906 B
Bash
Executable file

#!/bin/bash -eux
set -o pipefail
declare -a args
IFS='/:' read -ra args <<< "${TEST}"
script="${args[0]}"
docker images ansible/ansible
docker ps
if [ -d /home/shippable/cache/ ]; then
ls -la /home/shippable/cache/
fi
which python
python -V
which pip
pip --version
pip list --disable-pip-version-check
export PATH="test/runner:${PATH}"
# remove empty core/extras module directories from PRs created prior to the repo-merge
find lib/ansible/modules -type d -empty -print -delete
function cleanup
{
if find test/results/coverage/ -mindepth 1 -name '.*' -prune -o -print -quit | grep -q .; then
ansible-test coverage xml --color -v --requirements
cp -a test/results/reports/coverage.xml shippable/codecoverage/coverage.xml
fi
rmdir shippable/testresults/
cp -a test/results/junit/ shippable/testresults/
}
trap cleanup EXIT
"test/utils/shippable/${script}.sh"