Fix encoding when updating platform.
[build-farm.git] / build_test.fns
index 2358524ad9d35a3f991b852a1705d950fd886d57..ded4d098a223d6d0ec4daf252401a44e0b71f490 100644 (file)
@@ -579,6 +579,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 +618,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
@@ -746,9 +754,10 @@ test_tree() {
                sw_config="$config --enable-socket-wrapper"
                ;;
        samba_4*)
-               sw_config="$config --enable-socket-wrapper"
-               sw_config="$sw_config --enable-nss-wrapper"
-               sw_config="$sw_config --enable-uid-wrapper"
+               sw_config="$config --enable-selftest"
+               ;;
+       samba_3_master)
+               sw_config="$config --enable-selftest"
                ;;
        samba_3*)
                sw_config="$config --enable-socket-wrapper"
@@ -798,9 +807,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
@@ -908,6 +922,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!