tdb: Clarify the CLEAR_IF_FIRST locked logic
[samba.git] / buildtools / testwaf.sh
index a007bc8611aeceeafe572a8a5b7576fda3b119af..127e52589103e455423ccbc24c464d43540df9cd 100755 (executable)
@@ -1,5 +1,8 @@
 #!/bin/bash
 
+set -e
+set -x
+
 d=$(dirname $0)
 
 cd $d/..
@@ -8,34 +11,60 @@ PREFIX=$HOME/testprefix
 if [ $# -gt 0 ]; then
     tests="$*"
 else
-    tests="lib/replace lib/talloc lib/tevent lib/tdb source4/lib/ldb"
+    tests="lib/replace lib/talloc lib/tevent lib/tdb lib/ldb"
 fi
 
 echo "testing in dirs $tests"
 
 for d in $tests; do
     echo "`date`: testing $d"
-    pushd $d || exit 1
+    pushd $d
     rm -rf bin
     type waf
-    waf dist || exit 1
-    waf configure -C --enable-developer --prefix=$PREFIX || exit 1
-    time waf build || exit 1
-    time waf build || exit 1
-    waf install || exit 1
+    waf dist
+    ./configure -C --enable-developer --prefix=$PREFIX
+    time make
+    make install
+    make distcheck
     case $d in
-       "source4/lib/ldb")
-           ldd bin/ldbadd || exit 1
+       "lib/ldb")
+           ldd bin/ldbadd
            ;;
        "lib/replace")
-           ldd bin/replace_testsuite || exit 1
+           ldd bin/replace_testsuite
            ;;
        "lib/talloc")
-           ldd bin/talloc_testsuite || exit 1
+           ldd bin/talloc_testsuite
            ;;
        "lib/tdb")
-           ldd bin/tdbtool || exit 1
+           ldd bin/tdbtool
            ;;
     esac
     popd
 done
+
+echo "testing python portability"
+pushd lib/talloc
+versions="python2.4 python2.5 python2.6 python3.0 python3.1"
+for p in $versions; do
+    ret=$(which $p || echo "failed")
+    if [ $ret = "failed" ]; then
+        echo "$p not found, skipping"
+        continue
+    fi
+    echo "Testing $p"
+    $p ../../buildtools/bin/waf configure -C --enable-developer --prefix=$PREFIX
+    $p ../../buildtools/bin/waf build install
+done
+popd
+
+echo "testing cross compiling"
+pushd lib/talloc
+ret=$(which arm-linux-gnueabi-gcc || echo "failed")
+if [ $ret != "failed" ]; then
+    CC=arm-linux-gnueabi-gcc ./configure -C --prefix=$PREFIX  --cross-compile --cross-execute='runarm'
+    make && make install
+else
+    echo "Cross-compiler not installed, skipping test"
+fi
+popd