Tagging module PLEWWW - PLEWWW-4.3-17
[build.git] / vbuild-nightly.sh
index 0fa9839..49e10f2 100755 (executable)
@@ -17,6 +17,8 @@ DEFAULT_GPGPATH="/etc/planetlab"
 # default email to use in gpg secring
 DEFAULT_GPGUID="root@$( /bin/hostname )"
 
+DEFAULT_TESTCONFIG="default"
+
 # for publishing results, and the tests settings
 x=$(hostname)
 y=$(hostname|sed -e s,inria,,)
@@ -27,15 +29,12 @@ if [ "$x" != "$y" ] ; then
     # this is where the buildurl is pointing towards
     DEFAULT_WEBROOT="/build/"
     DEFAULT_TESTMASTER="testmaster.onelab.eu"
-    DEFAULT_TESTCONFIG="1default"
 else
     DEFAULT_WEBPATH="/build/@FCDISTRO@/@PLDISTRO@/"
     DEFAULT_TESTBUILDURL="http://build.planet-lab.org/"
     # this is where the buildurl is pointing towards
     DEFAULT_WEBROOT="/build/"
-    ### xxx change as appropriate
-    DEFAULT_TESTMASTER="p-testmaster.onelab.eu"
-    DEFAULT_TESTCONFIG="pdefault"
+    DEFAULT_TESTMASTER="manager.test.planet-lab.org"
 fi    
 
 ####################
@@ -53,7 +52,7 @@ function summary () {
 # read a full log and tries to extract the interesting stuff
 
 import sys,re
-m_show_line=re.compile(".* BEG (RPM|VSERVER).*|.*'boot'.*|\* .*|.*is not installed.*|.*PROPFIND.*|.*Starting.*:runtest.*")
+m_show_line=re.compile(".* BEG (RPM|VSERVER).*|.*'boot'.*|\* .*|.*is not installed.*|.*PROPFIND.*|.*Starting.*:run_log.*")
 m_installing_any=re.compile('\r  (Installing:[^\]]*]) ')
 m_installing_err=re.compile('\r  (Installing:[^\]]*])(..+)')
 m_installing_end=re.compile('Installed:.*')
@@ -201,12 +200,12 @@ function build () {
 
 # this was formerly run in the myplc-devel chroot but now is run in the root context,
 # this is so that the .ssh config gets done manually, and once and for all
-function runtest () {
+function run_log () {
     set -x
     set -e
     trap failure ERR INT
 
-    echo -n "============================== Starting $COMMAND:runtest on $(date)"
+    echo -n "============================== Starting $COMMAND:run_log on $(date)"
 
     # where to find TESTS_SVNPATH
     stamp=/vservers/$BASE/build/tests_svnpath
@@ -216,9 +215,7 @@ function runtest () {
        exit 1
     fi
     TESTS_SVNPATH=$(cat $stamp)
-    # xxx - Thierry - need to rework the test framework in tests/system so it can work
-    # with the entire tests/ module checked out, rather than only tests/system/ 
-    # ugly workaround for now
+    # don't need the tests fulltree anymore
     TESTS_SYSTEM_SVNPATH=${TESTS_SVNPATH}/system
 
     ### the URL to the RPMS/<arch> location
@@ -226,7 +223,9 @@ function runtest () {
     for a in i386 x86_64; do
        archdir=/vservers/$BASE/build/RPMS/$a
        if [ -d $archdir ] ; then
-           url=$(echo $archdir | sed -e "s,/vservers/$BASE/build,${TESTBUILDURL}${PLDISTRO}/${BASE},")
+           # where was that installed
+           url=$(echo $archdir | sed -e "s,/vservers/${BASE}/build,${WEBPATH}/${BASE},")
+           url=$(echo $url | sed -e "s,${WEBROOT},${TESTBUILDURL},")
            break
        fi
     done
@@ -245,8 +244,8 @@ function runtest () {
     ssh -n ${testmaster_ssh} rm -rf ${testdir}
     # check it out 
     ssh -n ${testmaster_ssh} svn co ${TESTS_SYSTEM_SVNPATH} ${testdir}
-    # check out the entire tests/ module (with system/ duplicated) as a subdir - see xxx above
-    ssh -n ${testmaster_ssh} svn co ${TESTS_SVNPATH} ${testdir}/tests
+###    # check out the entire tests/ module (with system/ duplicated) as a subdir - see fulltree above
+###    ssh -n ${testmaster_ssh} svn co ${TESTS_SVNPATH} ${testdir}/tests
     # invoke test on testbox - pass url and build url - so the tests can use vtest-init-vserver.sh
     configs=""
     for config in ${TESTCONFIG} ; do
@@ -256,7 +255,7 @@ function runtest () {
 
     # need to proceed despite of set -e
     success=true
-    ssh 2>&1 -n ${testmaster_ssh} ${testdir}/runtest --build ${build_SVNPATH} --url ${url} $configs $test_env --all || success=
+    ssh 2>&1 -n ${testmaster_ssh} ${testdir}/run_log --build ${build_SVNPATH} --url ${url} $configs $test_env --verbose --all || success=
 
     # gather logs in the vserver
     mkdir -p /vservers/$BASE/build/testlogs
@@ -269,7 +268,7 @@ function runtest () {
        failure
     fi
     
-    echo -n "============================== End $COMMAND:runtest on $(date)"
+    echo -n "============================== End $COMMAND:run_log on $(date)"
 }
 
 function in_root_context () {
@@ -586,7 +585,7 @@ function main () {
            vserver ${BASE} exec /build/$COMMAND "${options[@]}" -b "${BASE}" "${MAKEVARS[@]}" "${MAKETARGETS[@]}"
        fi
 
-       # publish to the web so runtest can find them
+       # publish to the web so run_log can find them
        rm -rf $WEBPATH/$BASE ; mkdir -p $WEBPATH/$BASE/{RPMS,SRPMS}
        rsync --archive --delete --verbose /vservers/$BASE/build/RPMS/ $WEBPATH/$BASE/RPMS/
        rsync --archive --delete --verbose /vservers/$BASE/build/SRPMS/ $WEBPATH/$BASE/SRPMS/
@@ -599,7 +598,7 @@ function main () {
        fi
 
        if [ -n "$DO_TEST" ] ; then 
-           runtest
+           run_log
        fi
 
        success