#!/bin/bash

if ! nosetests --version &> /dev/null;
then
    echo "Could not run 'nosetests'; please ensure that nose is installed:" > /dev/stderr
    echo "    $ pip install nose" > /dev/stderr
    exit 1
fi

py_cmd=$(head -n1 $(which nosetests) | sed -e's/^#!//')

for module in flexmock coverage;
do
    if ! ${py_cmd} -c "import ${module}" &> /dev/null;
    then
        echo "Could import Python module '${module}'; please ensure that this module is installed:" > /dev/stderr
        echo "    $ pip install ${module}" > /dev/stderr
        exit 1
    fi
done

MODULES=$(find paleomix -mindepth 1 -maxdepth 1 -name '*.py' -or -type d | sed -e 's#\.py##g' -e's#/#.#g' | grep -v "paleomix.yaml" | grep -v __init__)
nosetests -I ".*_flymake.py" tests/ --with-coverage $@ \
    --cover-tests --cover-branches --cover-inclusive --cover-erase \
    $(for module in unit $MODULES;do echo --cover-package=$module;done) \
    2>&1 | grep -v "[0-9]\+ \+0 \+[0-9]\+ \+0 \+100%"
#   --cover-html --cover-html-dir=tests/runs/coverage
