Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix computation of NUMBER_OF_PROCESSORS.
[simgrid.git] / buildtools / jenkins / run.sh
index c20bdc7..287c144 100755 (executable)
@@ -3,6 +3,7 @@
 WORKSPACE=$1
 build_mode=$2
 
+
 rm -rf $WORKSPACE/build
 
 mkdir $WORKSPACE/build
@@ -12,6 +13,11 @@ export PATH=./lib/:../../lib:$PATH
 
 if test "$(uname -o)" = "Msys"
 then 
+    #$NUMBER_OF_PROCESSORS should be already set on win
+    if [ -z "$NUMBER_OF_PROCESSORS" ]; then
+        NUMBER_OF_PROCESSORS=1
+    fi  
+
     cmake -G "MSYS Makefiles" $WORKSPACE
 
     if [ $? -ne 0 ] ; then
@@ -26,28 +32,14 @@ then
         exit 2
     fi
 
-    
-    if [ "$build_mode" = "Debug" ]
-    then
-    cmake -G "MSYS Makefiles" -Denable_coverage=ON -Denable_java=ON -Denable_model-checking=OFF -Denable_lua=OFF -Denable_compile_optimizations=ON  -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_compile_warnings=OFF .
-    fi
-
-    if [ "$build_mode" = "ModelChecker" ]
-    then
-    cmake -G "MSYS Makefiles" -Denable_coverage=ON -Denable_java=ON -Denable_smpi=ON -Denable_model-checking=ON -Denable_lua=OFF -Denable_compile_optimizations=OFF -Denable_compile_warnings=OFF .
-    fi
-
-    if [ "$build_mode" = "DynamicAnalysis" ]
-    then
-    cmake -G "MSYS Makefiles" -Denable_lua=OFF -Denable_java=ON -Denable_tracing=ON -Denable_smpi=ON -Denable_compile_optimizations=OFF -Denable_compile_warnings=OFF -Denable_lib_static=OFF -Denable_model-checking=OFF -Denable_latency_bound_tracking=OFF -Denable_gtnets=OFF -Denable_jedule=OFF -Denable_mallocators=OFF -Denable_memcheck=ON .
-    fi
+    cmake -G "MSYS Makefiles" -Denable_java=ON -Denable_model-checking=OFF -Denable_lua=OFF -Denable_compile_optimizations=ON  -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_compile_warnings=OFF .
 
     if [ $? -ne 0 ] ; then
         echo "Failed to perform the Cmake for $build_mode - Halting"
         exit 5
     fi
 
-    make
+    make -j$NUMBER_OF_PROCESSORS
 
     if [ $? -ne 0 ] ; then
         echo "Build failure - Halting"
@@ -61,7 +53,13 @@ then
         exit 6
     fi
 
-else    
+else
+    # Linux:
+    cpuinfo_file="/proc/cpuinfo"
+    NUMBER_OF_PROCESSORS=$(lscpu -p 2>/dev/null | grep -c '^[^#]') || \
+    NUMBER_OF_PROCESSORS=$(grep -c "^processor[[:space:]]*:" ${cpuinfo_file} 2>/dev/null)
+    [ "0$NUMBER_OF_PROCESSORS" -gt 0 ] || NUMBER_OF_PROCESSORS=1
+
     cmake $WORKSPACE
 
     if [ $? -ne 0 ] ; then
@@ -111,7 +109,7 @@ else
         exit 5
     fi
 
-    make
+    make -j$NUMBER_OF_PROCESSORS
 
     if [ $? -ne 0 ] ; then
         echo "Build failure - Halting"
@@ -120,7 +118,10 @@ else
 
 fi
 
-ctest -T test --no-compress-output  --timeout 100 || true
+
+echo "running tests with $NUMBER_OF_PROCESSORS processors"
+
+ctest -T test --no-compress-output  --timeout 100 -j$NUMBER_OF_PROCESSORS || true
 if [ -f Testing/TAG ] ; then
    xsltproc $WORKSPACE/buildtools/jenkins/ctest2junit.xsl -o "$WORKSPACE/CTestResults.xml" Testing/`head -n 1 < Testing/TAG`/Test.xml
 fi