diff --git a/ci-scripts/Jenkinsfile-gitlab b/ci-scripts/Jenkinsfile-gitlab
index d7d542f863f7ae3ae2bab44c6d4fd5b7f58bafee..2732fa93e6207cbc96bed7043e5d85000611763b 100644
--- a/ci-scripts/Jenkinsfile-gitlab
+++ b/ci-scripts/Jenkinsfile-gitlab
@@ -45,6 +45,12 @@ pipeline {
                     }
                 }
             }
+            post {
+                failure {
+                    def message = "OAI " + JOB_NAME + " build (" + BUILD_ID + "): Merge Conflicts -- Cannot perform CI"
+                    addGitLabMRComment comment: message
+                }
+            }
         }
 
         stage ("Start VM -- cppcheck") {
@@ -176,6 +182,7 @@ pipeline {
                         if(fileExists('archives/vm_tests_logs.zip')) {
                             archiveArtifacts artifacts: 'archives/vm_tests_logs.zip'
                             archiveArtifacts artifacts: 'archives/*/test/results_autotests*.xml'
+                            archiveArtifacts artifacts: 'archives/*/test/*.xsl'
                         }
                     }
                 }
diff --git a/ci-scripts/doGitLabMerge.sh b/ci-scripts/doGitLabMerge.sh
index cc6f38c81063b3f7dc370d428fe4f8205f4eb950..dfe2f02b55936173f4f6d63e731aa2a988a7d96e 100755
--- a/ci-scripts/doGitLabMerge.sh
+++ b/ci-scripts/doGitLabMerge.sh
@@ -104,6 +104,10 @@ git checkout -f $SOURCE_COMMIT_ID
 
 git merge --ff $TARGET_COMMIT_ID -m "Temporary merge for CI"
 
-exit 0
-
-
+STATUS=`git status | egrep -c "You have unmerged paths.|fix conflicts"`
+if [ $STATUS -ne 0 ]
+then
+    echo "There are merge conflicts.. Cannot perform further build tasks"
+    STATUS=-1
+fi
+exit $STATUS
diff --git a/ci-scripts/runTestOnVM.sh b/ci-scripts/runTestOnVM.sh
index 56ea35a5f29813892244f4431bededbad7033b1e..4a3a9d6d3898a5cf94e193f33291c4455b03d5f8 100755
--- a/ci-scripts/runTestOnVM.sh
+++ b/ci-scripts/runTestOnVM.sh
@@ -231,7 +231,12 @@ else
     then
         FUNCTION=`echo $VM_NAME | sed -e "s@$VM_TEMPLATE@@"`
         NEW_NAME=`echo "results_autotests.xml" | sed -e "s@results_autotests@results_autotests-$FUNCTION@"`
-        mv results_autotests.xml $NEW_NAME
+        echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > $NEW_NAME
+        echo "<?xml-stylesheet type=\"text/xsl\" href=\"$FUNCTION.xsl\" ?>" >> $NEW_NAME
+        cat results_autotests.xml >> $NEW_NAME
+        sed -e "s@TEMPLATE@$FUNCTION@" $JENKINS_WKSP/ci-scripts/template.xsl > $FUNCTION.xsl
+        #mv results_autotests.xml $NEW_NAME
+        rm results_autotests.xml
     fi
     popd
 
diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash
index 6c5b9193b60eb6d68ff10a65ca6216f04346554e..0947cdab3ec44318875f27f82c85d02fcd2a0cda 100755
--- a/cmake_targets/autotests/run_exec_autotests.bash
+++ b/cmake_targets/autotests/run_exec_autotests.bash
@@ -175,10 +175,10 @@ function test_compile() {
     fi
     if [ "$result" == "1" ]; then
       echo_success "$test_case_name.${tags} PASSED"
-      xUnit_success "compilation" "$test_case_name.$tags" "PASS" "$result_string" "$xmlfile_testcase"
+      xUnit_success "compilation" "$test_case_name.$tags" "PASS" "$result_string" "$xmlfile_testcase" ""
     else             
       echo_error "$test_case_name.${tags} FAILED"
-      xUnit_fail "compilation" "$test_case_name.$tags" "FAIL" "$result_string" "$xmlfile_testcase"
+      xUnit_fail "compilation" "$test_case_name.$tags" "FAIL" "$result_string" "$xmlfile_testcase" ""
     fi
 }
 
@@ -201,6 +201,7 @@ function test_compile() {
 #\param $15 => password for the user to run certain commands as sudo
 #\param $16 => test config file params to be modified
 #\param $17 => bypass flag if main_exec if available
+#\param $18 -> desc to help identify the test case for readability in output xml file
 
 function test_compile_and_run() {
     xUnit_start
@@ -223,6 +224,7 @@ function test_compile_and_run() {
     mypassword=${15}
     test_config_file=${16}
     bypass_compile=${17}
+    desc=${18}
 
     build_dir=$tdir/$1/build
     #exec_file=$build_dir/$6
@@ -243,6 +245,7 @@ function test_compile_and_run() {
     #echo "pre_exec_file = $pre_exec_file"
     #echo "nruns = $nruns"
     echo "class = $class"
+    echo "desc = $desc"
     
     #compile_prog_array=()
     #read -a compile_prog_array <<<"$compile_prog"
@@ -253,6 +256,8 @@ function test_compile_and_run() {
   
     tags_array=()
     read -a tags_array <<<"$tags"
+    desc_array=()
+    readarray -t desc_array <<<"$desc"
     
     main_exec_args_array=()
     readarray -t main_exec_args_array <<< "$exec_args"
@@ -298,6 +303,7 @@ function test_compile_and_run() {
       do
         global_result=1
         result_string=""
+        PROPER_DESC=`echo ${desc_array[$tags_array_index]} | sed -e "s@^.*lsim.*est case.*(Test@Test@" -e "s@^ *(@@" -e "s/),$//"`
         
        for (( run_index=1; run_index <= $nruns; run_index++ ))
         do
@@ -366,16 +372,16 @@ function test_compile_and_run() {
 
        if [ "$result_string" == "" ]; then
            echo_error "execution $test_case_name.$compile_prog.${tags_array[$tags_array_index]} Run_Result = \"$result_string\"  Result = FAIL"
-	   xUnit_fail "execution" "$test_case_name.${tags_array[$tags_array_index]}" "FAIL" "$result_string" "$xmlfile_testcase"
+	   xUnit_fail "execution" "$test_case_name.${tags_array[$tags_array_index]}" "FAIL" "$result_string" "$xmlfile_testcase" "$PROPER_DESC"
        else
         if [ "$global_result" == "0" ]; then
            echo_error "execution $test_case_name.${tags_array[$tags_array_index]} Run_Result = \"$result_string\" Result =  FAIL"
-           xUnit_fail "execution" "$test_case_name.${tags_array[$tags_array_index]}" "FAIL" "$result_string" "$xmlfile_testcase"
+           xUnit_fail "execution" "$test_case_name.${tags_array[$tags_array_index]}" "FAIL" "$result_string" "$xmlfile_testcase" "$PROPER_DESC"
         fi
 
         if [ "$global_result" == "1" ]; then
             echo_success "execution $test_case_name.${tags_array[$tags_array_index]} Run_Result = \"$result_string\"  Result = PASS "
-	    xUnit_success "execution" "$test_case_name.${tags_array[$tags_array_index]}" "PASS" "$result_string"   "$xmlfile_testcase"     
+	    xUnit_success "execution" "$test_case_name.${tags_array[$tags_array_index]}" "PASS" "$result_string"   "$xmlfile_testcase"  "$PROPER_DESC"
         fi  
        fi
 
@@ -573,10 +579,10 @@ for search_expr in "${test_case_array[@]}"
     #echo "arg1 = ${search_array_true[0]}"
     #echo " arg2 = ${search_array_true[1]}"
     if [ "$class" == "compilation" ]; then
-        test_compile "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags"
+        test_compile "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags" "$desc"
     elif  [ "$class" == "execution" ]; then
         echo \'passwd\' | $SUDO killall -q oaisim_nos1
-        test_compile_and_run "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags" "$mypassword" "$test_config_file" "$BYPASS_COMPILE"
+        test_compile_and_run "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags" "$mypassword" "$test_config_file" "$BYPASS_COMPILE" "$desc"
     else
         echo "Unexpected class of test case...Skipping the test case $name ...."
     fi
diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml
index 27f43f6f2f73eb0b6df9b3be8880664ec56f035f..59fceb6c2dc024e9f8df3609a0d57c7c7dce6354 100644
--- a/cmake_targets/autotests/test_case_list.xml
+++ b/cmake_targets/autotests/test_case_list.xml
@@ -970,7 +970,7 @@
                        -m26 -gF -s16.6 -w1.0 -f.2 -n500 -B100 -c2 -z2 -r1899 -O70
 		       -m14 -gF -s6.8  -w1.0 -f.2 -n500 -B50 -c2 -x2 -y2 -z2 -O70
                        -m13 -gF -s5.9  -w1.0 -f.2 -n500 -B25 -c3 -x2 -y2 -z2 -O70</main_exec_args>
-      <tags>dlsim.test1 dlsim.test5 dlsim.test6 dlsim.test6b dlsim.test7 dlsim.test7b dlsim.test10 dlsim.test10b dlsim.test11 dlsim.TM2_test1 dlsim.TM2_test1b</tags>
+      <tags>dlsim.test1 dlsim.test5 dlsim.test6 dlsim.test6b dlsim.test7 dlsim.test7b dlsim.test10 dlsim.test10b dlsim.test11 dlsim.test11b dlsim.TM2_test1 dlsim.TM2_test1b dlsim.TM2_test1c</tags>
       <search_expr_true>"passed"</search_expr_true>
       <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>
       <nruns>3</nruns>
diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper
index 722db38ffc947ca71e2cbc56e839b90567cd74c3..d5a2d9412c05e5b22c5415281271d1a67a315c9c 100755
--- a/cmake_targets/tools/build_helper
+++ b/cmake_targets/tools/build_helper
@@ -271,8 +271,23 @@ check_install_usrp_uhd_driver(){
         $SUDO apt-get remove libuhd-dev libuhd003 uhd-host -y || true
         v=$(lsb_release -cs)
         $SUDO apt-add-repository --remove "deb http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu/$v $v main"
-        #The new USRP repository
-        $SUDO add-apt-repository ppa:ettusresearch/uhd -y
+        # The new USRP repository
+        # Raphael Defosseux: Adding a loop on adding PPA because in CI the gpg key retrieve may 
+        # timeout due to proxy / network latencies in Eurecom on VM
+        echo_info "\nAdding PPA repository ettusresearch/uhd\n"
+        x=0
+        while [ $x -le 5 ]
+        do
+            if $SUDO add-apt-repository ppa:ettusresearch/uhd -y
+            then
+                echo_info "add-apt-repository successful\n"
+                break
+            else
+                echo_info "add-apt-repository failed, retrying...\n"
+                sleep 30
+            fi
+            x=$((x + 1))
+        done
         $SUDO apt-get update
         $SUDO apt-get -y --allow-unauthenticated install  python python-tk libboost-all-dev libusb-1.0-0-dev
         $SUDO apt-get -y --allow-unauthenticated install libuhd-dev libuhd003 uhd-host
diff --git a/cmake_targets/tools/test_helper b/cmake_targets/tools/test_helper
index cae0bacbe030578fbd3d4a98ea7cdbe792a64dbb..f73b53c4bef1164b718dbbc97f8ac54ce65e2f80 100644
--- a/cmake_targets/tools/test_helper
+++ b/cmake_targets/tools/test_helper
@@ -26,15 +26,17 @@ xUnit_start() {
 # \param $3 testcase result
 # \param $4 run result
 # \param $5 XML file local to test case for storing its own results
+# \param $6 proper description
 xUnit_fail() {
   class=$1
   test_case=$2
   result=$3
   run_result=$4
   xmlfile_testcase=$5
+  desc=$6
   currtime=$(date +%s.%N)
   time=$(echo "$currtime - $XUNIT_START" | bc -l)
-  xml="<testcase classname='$class' name='$test_case' Run_result='$run_result' time='$time s' RESULT='$result'></testcase>"
+  xml="<testcase classname='$class' name='$test_case' description='$desc' Run_result='$run_result' time='$time s' RESULT='$result'></testcase>"
   echo  -e "$xml" >> "$xmlfile_testcase"
   XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml"
   XUNIT_FAILED=$((XUNIT_FAILED+1))
@@ -48,15 +50,17 @@ xUnit_fail() {
 # \param $3 testcase result
 # \param $4 run result
 # \param $5 XML file local to test case for storing its own results
+# \param $6 proper description
 xUnit_success() {
   class=$1
   test_case=$2
   result=$3
   run_result=$4
   xmlfile_testcase=$5
+  desc=$6
   currtime=$(date +%s.%N)
   time=$(echo "$currtime - $XUNIT_START" | bc -l)
-  xml="<testcase classname='$class' name='$test_case' Run_result='$run_result' time='$time s' RESULT='$result'></testcase>"
+  xml="<testcase classname='$class' name='$test_case' description='$desc' Run_result='$run_result' time='$time s' RESULT='$result'></testcase>"
   echo  -e $xml >> $xmlfile_testcase
   XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml"
   XUNIT_SUCCESS=$((XUNIT_SUCCESS+1))