#! /usr/bin/env zsh dir=$(cd $(dirname $0) && pwd) top=$(cd ${dir}/.. && pwd) export PYTHONPATH="${top}:${PYTHONPATH}" typeset -a coverage_init typeset -a coverage : ${PYTHON:=python2.4} while getopts 'C:cp:' ch; do case ${ch} in C) coverage_report=${OPTARG} ;; c) coverage_init=(${PYTHON} ${top}/coverage.py -e) coverage=(${top}/coverage.py -x) ;; p) PYTHON=${OPTARG} ;; ?) echo ${help} exit -1 ;; esac done shift $((${OPTIND} - 1)) ################################################################################ if [[ -n ${coverage_report} ]]; then if [[ ${coverage_report} == '.' ]]; then cov=() coverage_report=(flac_archive/*.py) else cov=(-c "${coverage_report}.coverage") fi opts=("$@") [[ ${#opts} == 0 ]] && opts=(-mr) exec ${PYTHON} ${top}/coverage.py ${cov} ${opts} ${coverage_report} fi ################################################################################ failed=0 ${coverage_init} if [[ -n ${coverage} ]] && [[ $# -eq 1 ]]; then out=$1.coverage rm -f ${out} exec ${PYTHON} ${coverage} -c ${out} ${1/flac_archive\//test/test} fi ${PYTHON} ${coverage} ${dir}/test.py || (( failed++ )) setopt EXTENDED_GLOB if [[ -n ${coverage} ]]; then for i in ${dir}/test[a-z]*.py; do out=${top}/flac_archive/${i#${dir}/test}.coverage rm -f ${out} ${PYTHON} ${coverage} -c ${out} -x ${i} done fi exit ${failed}