Skip to content
Snippets Groups Projects
Select Git revision
  • test
  • master default
  • doxygen
3 results

Dart.sh

Blame
  • Florian Uhlig's avatar
    Administrator authored
    Add the weekly build type to the label such that CDash can filter the tests.
    Run all Nightly tests also during the Weekly test scenario.
    Run all tests in profile mode.
    
    
    git-svn-id: https://subversion.gsi.de/cbmsoft/cbmroot/trunk@14781 5a1b234a-d7ce-0410-9a93-fd649a8fa65c
    fb08f3e8
    History
    Dart.sh 4.20 KiB
    #!/bin/bash
    
    function print_example(){
    echo "##################################################################"
    echo "# To set the required parameters as source and the build         #"
    echo "# directory for ctest, the linux flavour and the SIMPATH         #"
    echo "# put the export commands below to a separate file which is read #"
    echo "# during execution and which is defined on the command line.     #"
    echo "# Set all parameters according to your needs.                    #"
    echo "# LINUX_FLAVOUR should be set to the distribution you are using  #"
    echo "# eg Debian, SuSe etc.                                           #"
    echo "# For example                                                    #"
    echo "#!/bin/bash                                                      #"
    echo "#export LINUX_FLAVOUR=Wheezy64                                   #"
    echo "#export FAIRSOFT_VERSION=mar15                                   #"
    echo "#export SIMPATH=<path_to_installation_of_external_packages>      #"
    echo "#export FAIRROOT_VERSION=v15-03                                  #"
    echo "#export FAIRROOTPATH=<path_to_installation_of_external_packages> #"
    echo "#export BUILDDIR=/tmp/fairroot/build_cbm_\${FAIRSOFT_VERSION}    #"
    echo "#export SOURCEDIR=/home/uhlig/SVN/ctest/cbmroot                  #"
    echo "##################################################################"
    }
    
    #if test  "x$SIMPATH" = "x" ; then
    #  echo ""                                                             
    #  echo "-- Error -- You don't set the needed variables in this shell script."
    #  echo "-- Error -- Please edit the script and do so."
    #  echo ""
    #  exit 1
    #fi
    
    if [ "$#" -lt "2" ]; then
      echo ""
      echo "-- Error -- Please start script with two parameters"
      echo "-- Error -- The first parameter is the ctest model."
      echo "-- Error -- Possible arguments are Continuous, Nightly, Experimental or Weekly."
      echo "-- Error -- The second parameter is the file containg the"
      echo "-- Error -- Information about the setup at the client" 
      echo "-- Error -- installation (see example below)."
      echo ""
      print_example
      exit 1
    fi
    
    # test if a ctest model is either Experimental or Nightly
    if [ "$1" == "Experimental" -o "$1" == "Nightly" -o "$1" == "Continuous" -o "$1" == "Profile" -o "$1" == "Weekly" ]; then
      echo ""
    else
      echo "-- Error -- This ctest model is not supported."
      echo "-- Error -- Possible arguments are Nightly, Experimental, Continuous or Profile."
      exit 1
    fi 
    
    # test if the input file exists and execute it
    if [ -e "$2" ];then
      source $2
    else
      echo "-- Error -- Input file does not exist."
      echo "-- Error -- Please choose existing input file."
      exit 1  
    fi
    
    # set the ctest model to command line parameter
    export ctest_model=$1
    
    # test for architecture
    arch=$(uname -s | tr '[A-Z]' '[a-z]')
    chip=$(uname -m | tr '[A-Z]' '[a-z]')
    
    # extract information about the system and the machine and set
    # environment variables used by ctest
    SYSTEM=$arch-$chip
    if test -z $CXX ; then
      COMPILER=gcc;
      GCC_VERSION=$(gcc -dumpversion)
    else
      COMPILER=$CXX;
      GCC_VERSION=$($CXX -dumpversion)
    fi
    
    if [ "${ctest_model}" == "Weekly" ]; then
      export LABEL1=${LINUX_FLAVOUR}-$SYSTEM-$COMPILER$GCC_VERSION-${ctest_model}-fairsoft_$FAIRSOFT_VERSION-fairroot_$FAIRROOT_VERSION
    else
      export LABEL1=${LINUX_FLAVOUR}-$SYSTEM-$COMPILER$GCC_VERSION-fairsoft_$FAIRSOFT_VERSION-fairroot_$FAIRROOT_VERSION
    fi
    export LABEL=$(echo $LABEL1 | sed -e 's#/#_#g')
    
    # get the number of processors
    # and information about the host
    if [ "$arch" = "linux" ];
    then
      if [ -z $NCPU ]; then
        export number_of_processors=$(cat /proc/cpuinfo | grep processor | wc -l)
      else
        export number_of_processors=$NCPU
      fi  
      if [ -z $SITE ]; then
        export SITE=$(hostname -f)
        if [ -z $SITE ]; then
          export SITE=$(uname -n)
        fi  
      fi
    elif [ "$arch" = "darwin" ];
    then
      if [ -z $NCPU ]; then
        export number_of_processors=$(sysctl -n hw.ncpu)
      else
        export number_of_processors=$NCPU
      fi  
      if [ -z $SITE ]; then
        export SITE=$(hostname -s)
      fi
    fi
    
    echo "************************"
    date
    echo "LABEL: " $LABEL
    echo "SITE: " $SITE
    echo "Model: " ${ctest_model}
    echo "Nr. of processes: " $number_of_processors
    echo "************************"
    
    cd $SOURCEDIR
    
    ctest -S $SOURCEDIR/CbmRoot_test.cmake -V --VV