#!/bin/sh set -e cd "$(dirname "$0")/.." if [ -z "$VENV_NAME" ]; then VENV_NAME="env" fi ACTIVATE="$VENV_NAME/bin/activate" if [ ! -f "$ACTIVATE" ]; then echo "$ACTIVATE does not exist, run ./script/bootstrap" >&2 exit 1 fi . "$ACTIVATE" # Just to be sure/safe export AWS_ACCESS_KEY_ID= export AWS_SECRET_ACCESS_KEY= export CLOUDFLARE_EMAIL= export CLOUDFLARE_TOKEN= export DNSIMPLE_ACCOUNT= export DNSIMPLE_TOKEN= export DYN_CUSTOMER= export DYN_PASSWORD= export DYN_USERNAME= export GOOGLE_APPLICATION_CREDENTIALS= # Don't allow disabling coverage grep -r -I --line-number "# pragma: +no.*cover" octodns && { echo "Code coverage should not be disabled" exit 1 } coverage run --branch --source=octodns --omit=octodns/cmds/* "$(command -v nosetests)" --with-xunit "$@" coverage html coverage xml coverage report --show-missing coverage report | grep ^TOTAL | grep -qv 100% && { echo "Incomplete code coverage" >&2 exit 1 } || echo "Code coverage 100%"