some css elements are standard now, now brwowser specific names needed for those
[build-farm.git] / build_test.fns
index 46ebc378a332acec0b1c227d82d283748979c6e3..7fad7f17ea97ff0f0a58ac513638d028dfb248f9 100644 (file)
@@ -38,23 +38,23 @@ sum_tree() {
        sum_tree_tree=$2
        sum_tree_sum=$3
        sum_tree_scm=$4
-       find $sum_tree_test_root/$sum_tree_tree -type f -print | grep -v version.h | sort | xargs sum > $sum_tree_sum
-       sum build_test build_test.fns >> $sum_tree_sum
+       find $sum_tree_test_root/$sum_tree_tree -type f -print | grep -v version.h | sort | xargs cksum > $sum_tree_sum
+       cksum build_test build_test.fns >> $sum_tree_sum
 
        if [ -f "$host.fns" ]; then
-               sum $host.fns >> $sum_tree_sum
+               cksum $host.fns >> $sum_tree_sum
        else
-               sum generic.fns >> $sum_tree_sum
+               cksum generic.fns >> $sum_tree_sum
        fi
 
        if [ -f "$test_root/$tree.$scm" ]; then
-               sum "$test_root/$tree.$scm" >> $sum_tree_sum
+               cksum "$test_root/$tree.$scm" >> $sum_tree_sum
        fi
 
        for d in $deptrees; do
                dscm=`choose_scm "$d"`
                if [ -f "$test_root/$d.$dscm" ]; then
-               sum "$test_root/$d.$dscm" >> $sum_tree_sum
+                       cksum "$test_root/$d.$dscm" >> $sum_tree_sum
                fi
        done
 }
@@ -104,7 +104,7 @@ send_logs() {
 
 send_logs_skip() {
        touch "$1" "$2"
-       send_logs "$1" "$2" -B 10000000
+       send_logs "$1" "$2" -B 131072
 }
 
 ############################
@@ -118,7 +118,7 @@ fetch_tree() {
                fetchtree=$1
                if rsync --exclude=autom4te.cache/ --exclude=.svn/ --exclude=.git/ \
                        --delete-excluded -q --partial --timeout=200 -ctrlpz --delete --ignore-errors \
-                       samba.org::ftp/unpacked/$fetchtree/ $test_root/$fetchtree; then
+                       download.samba.org::ftp/unpacked/$fetchtree/ $test_root/$fetchtree; then
                        echo "transferred $fetchtree OK"
                else
                        echo "transfer of $fetchtree failed code $?"
@@ -164,7 +164,7 @@ choose_scm() {
        tree=$1
 
        case "$tree" in
-                       samba* | rsync | libreplace | talloc | tdb* | ldb | pidl | ccache* | waf*)
+                       samba* | rsync | libreplace | talloc | tdb | ntdb | ldb | pidl | ccache* | waf*)
                        echo "git"
                                return 0
                        ;;
@@ -255,7 +255,7 @@ do_make() {
        MMTIME=$MAXTIME
        # some trees don't need as much time
        case "$tree" in
-               rsync | tdb* | talloc | libreplace | ccache* | waf*)
+               rsync | tdb | ntdb | talloc | libreplace | ccache* | waf*)
                        if [ "$compiler" != "checker" ]; then
                                MMTIME=`expr $MMTIME / 5`
                        fi
@@ -320,10 +320,7 @@ action_lcovreport() {
                lorikeet-heimdal*)
                        lcov --directory $builddir --capture --output-file $builddir/$tree.lcov.info
                        ;;
-               samba_3_master*)
-                       lcov --base-directory $builddir --directory $builddir/.. --capture --output-file $builddir/$tree.lcov.info
-                       ;;
-               samba_4*|tdb*|talloc|ldb|libreplace)
+               samba_4*|tdb|ntdb|talloc|ldb|libreplace)
                        lcov --base-directory $builddir/bin --directory $builddir/bin --capture --output-file $builddir/$tree.lcov.info
                        ;;
                waf)
@@ -346,10 +343,10 @@ action_lcovreport() {
 action_callcatcherreport() {
        if [ "$CALLCATCHER_REPORT" = "yes" ]; then
                case "$tree" in
-               tdb*|talloc|ldb)
+               tdb|ntdb|talloc|ldb)
                        callanalyse `find $builddir/bin -name \*.so*` $builddir/bin/* > $builddir/coverage/unused-fns.txt
                        ;;
-               samba_3_master|samba_4*)
+               samba_4*)
                        callanalyse `find $builddir/bin -name \*.so*` $builddir/bin/* > $builddir/coverage/all-unused-fns.txt 
                        grep -v -f $srcdir/callcatcher-exceptions.grep $builddir/coverage/all-unused-fns.txt > $builddir/coverage/unused-fns.txt
                        ;;
@@ -579,6 +576,14 @@ action_test() {
        esac
 }
 
+#############################
+# Do nothing (needed if we have nothing to do for extra_actions)
+#############################
+
+action_none() {
+    return 0;
+}
+
 ###########################
 # do a test build of a particular tree
 # This is the master function called by generic.fns or
@@ -610,9 +615,9 @@ test_tree() {
        # darn, this affects sparse files too! disable it
        # ulimit -f 100000 2> /dev/null
 
-       # try and limit the number of open files to 250. That means we'll discover
-       # fd leaks faster
-       ulimit -n 250 2> /dev/null
+       # try and limit the number of open files to 500, up from 250. That means we'll discover
+       # fd leaks faster while allowing our very complex make test to run
+       ulimit -n 500 2> /dev/null
 
        # Keep stuff private
        umask 077
@@ -635,7 +640,7 @@ test_tree() {
        deptrees=""
        case "$tree" in
                samba-gtk)
-               deptrees="samba_4_0_test"
+               deptrees="samba_current"
                ;;
        esac
 
@@ -745,14 +750,11 @@ test_tree() {
        lorikeet-heimdal)
                sw_config="$config --enable-socket-wrapper"
                ;;
-       samba_4*)
-               sw_config="$config --enable-selftest"
-               ;;
-       samba_3*)
+       samba_*)
                sw_config="$config --enable-selftest"
                ;;
        samba-gtk)
-               PKG_CONFIG_PATH="$test_root/prefix/samba_4_0_test.$compiler/lib/pkgconfig"
+               PKG_CONFIG_PATH="$test_root/prefix/samba_current.$compiler/lib/pkgconfig"
                export PKG_CONFIG_PATH
                ;;
        *)
@@ -795,9 +797,14 @@ test_tree() {
 
        #Action == what to do ie. configure config_log ...
        actions="$*"
+       extra_actions="$EXTRA_ACTIONS"
 
        if [ "$actions" = "" ]; then
-               actions="configure config_log config_header build install test $EXTRA_ACTIONS"
+               actions="configure config_log config_header build install test"
+       fi
+
+       if [ "$extra_actions" = "" ]; then
+               extra_actions="none"
        fi
 
        # start the build
@@ -905,6 +912,54 @@ test_tree() {
                        fi
                done
 
+               for action in $extra_actions; do
+                       if [ "x$action" = "x" ]; then
+                              break;
+                       fi
+
+                       echo Running action $action
+
+                       date
+
+                       cd $builddir || exit 1
+                       export srcdir
+                       df .
+                       mount
+                       vmstat
+
+                       if [ "x$PREHOOKS" != "x" ]; then
+                               for hooks in $PREHOOKS; do
+                                       if [ "x$hooks" = "x$action" ]; then
+                                               ( prehook_$action )
+                                       fi
+                               done
+                       fi
+
+                       ( action_$action )
+                       action_status=$?
+
+                       if [ "x$POSTHOOKS" != "x" ]; then
+                               for hooks in $POSTHOOKS; do
+                                       if [ "x$hooks" = "x$action" ]; then
+                                               ( posthook_$action )
+                                       fi
+                               done
+                       fi
+
+                       df .
+
+                       if [ $action_status != 0 ]; then
+                               echo "ACTION FAILED: $action";
+                               echo " return code $action_status $action";
+                       else
+                               echo "ACTION PASSED: $action";
+                       fi
+
+                       if [ $action_status != 0 ]; then 
+                               break;
+                       fi
+               done
+
 
                if [ "$noclean" = "yes" ]; then
                        echo cleanup skipped!
@@ -987,7 +1042,8 @@ per_run_hook() {
 
        old_trees="web popt distcc samba-gtk smb-build lorikeet-heimdal samba_3_2"
        old_trees="$old_tree samba_3_2_test samba4 samba_4_0_waf samba_4_0_waf.metze"
-       old_trees="$old_tree samba_3_X_test samba_3_X_devel samba_3_X_devel samba_3_waf"
+       old_trees="$old_tree samba_3_X_test samba_3_X_devel samba_3_X_devel samba_3_waf samba_3_master tdb2"
+       old_trees="$old_tree samba_3_current samba_3_next samba_4_0_test"
        for d in $old_trees; do
                delete_old_tree $d
        done