Chris@71: #!/bin/bash Chris@71: Chris@71: mydir=$(dirname "$0") Chris@71: case "$mydir" in /*);; *) mydir=$(pwd)/"$mydir";; esac Chris@71: Chris@75: . "$mydir"/include.sh Chris@75: Chris@71: plugindirs="$@" Chris@71: if [ -z "$plugindirs" ]; then Chris@100: plugindirs=$(cat METADATA/repos.txt | grep -v vamp-plugin-sdk | grep -v vamp-plugin-tester | awk '{ print $1; }') Chris@71: else Chris@71: for dir in $plugindirs ; do Chris@71: if [ ! -d "$dir" ]; then Chris@71: echo "ERROR: Directory $dir not found" Chris@71: usage Chris@71: fi Chris@71: done Chris@71: fi Chris@71: Chris@71: platforms=$(echo REPORTS/[a-z]* | sed 's/REPORTS\///g') Chris@71: Chris@71: cat < Chris@71: Chris@71: Chris@71: Chris@75: Chris@75: Chris@71: EOF Chris@71: Chris@71: for p in $platforms ; do Chris@75: echo "" Chris@71: done Chris@71: Chris@75: echo "" Chris@75: echo "" Chris@75: Chris@75: for p in $platforms ; do Chris@75: echo "" Chris@75: echo "" Chris@75: echo "" Chris@75: echo "" Chris@75: done Chris@75: Chris@75: echo "" Chris@71: Chris@71: yes="" Chris@71: no="" Chris@71: unknown="?" Chris@78: missing="" Chris@75: dl="" Chris@71: Chris@75: # The possible outcomes are: Chris@75: # Chris@75: # OK - built, passed tests, passed env checks Chris@75: # BUILD_FAILED - build failed so unable to test Chris@75: # TEST_FAILED - build succeeded, tests failed, env checks passed Chris@75: # ENV_FAILED - build succeeded, tests passed, env checks failed Chris@75: # TEST_FAILED ENV_FAILED - build succeeded, tests and env checks failed Chris@75: Chris@75: emit_build() { Chris@75: reportdir="$1" Chris@75: dir="$2" Chris@75: outcome="$3" Chris@75: echo "" Chris@75: case "$outcome" in Chris@75: BUILD_FAILED) echo "$no";; Chris@75: *_FAILED*) echo "$yes";; Chris@75: OK) echo "$yes";; Chris@75: *) echo "$unknown";; Chris@75: esac Chris@75: echo "" Chris@75: } Chris@75: Chris@75: emit_test() { Chris@75: reportdir="$1" Chris@75: dir="$2" Chris@75: outcome="$3" Chris@75: case "$outcome" in Chris@75: BUILD_FAILED) echo "$missing";; Chris@75: *) Chris@71: echo "" Chris@71: case "$outcome" in Chris@71: *TEST_FAILED*) echo "$no";; Chris@71: *_FAILED*) echo "$yes";; Chris@71: OK) echo "$yes";; Chris@71: *) echo "$unknown";; Chris@71: esac Chris@75: echo "" ;; Chris@75: esac Chris@75: } Chris@75: Chris@75: emit_env() { Chris@75: reportdir="$1" Chris@75: dir="$2" Chris@75: outcome="$3" Chris@75: echo "" Chris@75: case "$outcome" in Chris@75: BUILD_FAILED) echo "$missing";; Chris@75: *) Chris@71: echo "" Chris@71: case "$outcome" in Chris@75: *ENV_FAILED*) echo "$no";; Chris@75: *FAILED*) echo "$yes";; Chris@71: OK) echo "$yes";; Chris@71: *) echo "$unknown";; Chris@71: esac Chris@75: echo "" ;; Chris@75: esac Chris@75: } Chris@75: Chris@75: emit_package() { Chris@75: platform="$1" Chris@75: dir="$2" Chris@75: outcome="$3" Chris@75: case "$outcome" in Chris@75: OK) Chris@75: id=$(vcs_id "$dir") Chris@75: package=$(echo "PACKAGES/$platform/$dir-$platform-$id".*) Chris@75: echo "package is $package" 1>&2 Chris@75: if [ -f "$package" ]; then Chris@75: echo "$dl" Chris@75: fi Chris@75: ;; Chris@75: *) ;; Chris@75: esac Chris@75: } Chris@75: Chris@75: oddeven=odd Chris@75: Chris@75: for dir in $plugindirs ; do Chris@75: dir=${dir%/*} Chris@75: echo "" Chris@75: for p in $platforms ; do Chris@75: reportdir="REPORTS/$p" Chris@75: summary="$reportdir/$dir.summary.txt" Chris@75: if [ -f "$summary" ]; then Chris@75: outcome=$(cat "$summary" | awk -F: '{ print $2; }' | sed 's/^ *//' | fmt -100) Chris@75: echo "" Chris@71: else Chris@75: echo "" Chris@75: echo "" Chris@75: echo "" Chris@75: echo "" Chris@71: fi Chris@71: done Chris@71: echo "" Chris@75: if [ "$oddeven" = odd ]; then Chris@75: oddeven=even Chris@75: else Chris@75: oddeven=odd Chris@75: fi Chris@71: done Chris@71: Chris@71: echo "
$p
BuildTestCheckPackage
$dir" Chris@75: emit_build "$reportdir" "$dir" "$outcome" Chris@75: echo "" Chris@75: emit_test "$reportdir" "$dir" "$outcome" Chris@75: echo "" Chris@75: emit_env "$reportdir" "$dir" "$outcome" Chris@75: echo "" Chris@75: emit_package "$p" "$dir" "$outcome" Chris@75: echo "$missing$missing$missing$missing
"