home *** CD-ROM | disk | FTP | other *** search
- #!/bin/bash
-
- echo -e "\n##### Extension Tests #####"
-
- cd "$(dirname "$0")"
-
- has_py_coverage=false
- py_cover_files=$( mktemp )
- failed_tests=$( mktemp )
-
- if coverage.py -e >/dev/null 2>/dev/null; then
- has_py_coverage=true
- cover_py_cmd=coverage.py
- else
- if coverage -e >/dev/null 2>/dev/null; then
- has_py_coverage=true
- cover_py_cmd=coverage
- fi
- fi
-
- #if $has_py_coverage; then
- # $cover_py_cmd -e
- #fi
-
- function run_py_test() {
- echo -e "\n>> Testing $1"
- if $has_py_coverage; then
- if ! $cover_py_cmd -x "$1.test.py"; then
- echo "$1" >> $failed_tests
- fi
- echo "../$1.py" >> $py_cover_files
- else
- if ! python "$1.test.py"; then
- echo "$1" >> $failed_tests
- fi
- fi
- return 0
- }
-
- tot_FAILED=0
-
- for testFile in *.test.py; do
- if ! run_py_test $( echo $testFile | sed -r 's/^([^.]+)..*$/\1/' ); then
- let tot_FAILED++
- fi
- done
-
- if $has_py_coverage; then
- echo -e "\n>> Coverage Report:"
- cat $py_cover_files | xargs $cover_py_cmd -r
- fi
-
- fail=false
- if ! test -z "$( cat $failed_tests )"; then
- echo -e "\nFailed $( cat $failed_tests | wc -l ) of $( ls -1 *.test.py | wc -l ) extension tests:"
- cat $failed_tests | sed 's/^/ - /'
- fail=true
- fi
- echo ""
-
- rm $py_cover_files $failed_tests
-
- $fail && exit 1