test -n "$repo" || die "repo not specified"
test -d "$samples" || die "samples location not specified"
+: ${branch:=master}
+
lock(){
lock=$1/fate.lock
(set -C; exec >$lock) 2>/dev/null || return
checkout(){
case "$repo" in
file:*|/*) src="${repo#file:}" ;;
- git:*) git clone --quiet "$repo" "$src" ;;
+ git:*) git clone --quiet --branch "$branch" "$repo" "$src" ;;
esac
}
update()(
cd ${src} || return
case "$repo" in
- git:*) git fetch --force && git reset --hard FETCH_HEAD ;;
+ git:*) git fetch --force && git reset --hard "origin/$branch" ;;
esac
)
report(){
date=$(date -u +%Y%m%d%H%M%S)
echo "fate:0:${date}:${slot}:${version}:$1:$2:${comment}" >report
- cat ${build}/config.fate ${build}/tests/data/fate/*.rep >>report
+# echo "fate:1:${date}:${slot}:${version}:$1:$2:${branch}:${comment}" >report
+ cat ${build}/config.fate >>report
+ cat ${build}/tests/data/fate/*.rep >>report || for i in ${build}/tests/data/fate/*.rep ; do cat "$i" >>report ; done
test -n "$fate_recv" && $tar report *.log | gzip | $fate_recv
}
rm -rf "${build}" *.log
mkdir -p ${build}
-configure >configure.log 2>&1 || fail $? "error configuring"
-compile >compile.log 2>&1 || fail $? "error compiling"
-fate >test.log 2>&1 || fail $? "error testing"
+configure >configure.log 2>&1 || fail 3 "error configuring"
+compile >compile.log 2>&1 || fail 2 "error compiling"
+fate >test.log 2>&1 || fail 1 "error testing"
report 0 success
clean