#!/bin/bash # Get current script path SCRIPT_PATH="$(dirname -- "$(readlink -f -- "${0}")")" # Activate OctoDNS Python venv source "${SCRIPT_PATH}/common.sh" SOURCE_DIR="octodns/" # Don't allow disabling coverage PRAGMA_OUTPUT=$(grep -r -I --line-number "# pragma: \+no.*cover" "$SOURCE_DIR" || echo) PRAGMA_COUNT=$(echo "$PRAGMA_OUTPUT" | grep -c . || true) PRAGMA_ALLOWED=5 if [ "$PRAGMA_COUNT" -ne "$PRAGMA_ALLOWED" ]; then echo "Found $PRAGMA_COUNT instances of 'pragma: no cover' (no more than $PRAGMA_ALLOWED allowed):" echo "$PRAGMA_OUTPUT" echo "Code coverage should not be disabled, except for version handling blocks" exit 1 fi pytest \ --disable-network \ --cov-reset \ --cov=$SOURCE_DIR \ --cov-fail-under=100 \ --cov-report=html \ --cov-report=json \ --cov-report=xml \ --cov-report=term \ --cov-branch \ "$@"