[TCT][scripts][NonACR][Address Sanitizer Added Support for full build/install of...
authorsatyajit.a <satyajit.a@samsung.com>
Tue, 21 Jun 2016 08:49:00 +0000 (17:49 +0900)
committersatyajit.a <satyajit.a@samsung.com>
Tue, 21 Jun 2016 08:49:00 +0000 (17:49 +0900)
Change-Id: I762918a2c5ca9df206948d57fda2e114f42d69b5
Signed-off-by: satyajit.a <satyajit.a@samsung.com>
scripts/tcbuild.sh
scripts/tcbuildsdk.sh

index 2261384..2485e01 100755 (executable)
@@ -32,6 +32,7 @@ d_showVar PROJECT_DIR
 TC_RUN_COUNT=1
 
 ASAN="false"
+ASAN_EXE_FOLDER="TCT_ASAN_EXE"
 if [ "build_asan" == "$1" ] || [ "install_asan" == "$1" ]; then
        ASAN="true"
 fi
@@ -131,6 +132,7 @@ else
                exit
        fi
        ASAN_BUILD_PATH="$RPM_DIR/../../../../BUILD-ROOTS/scratch.$ARCH.0/home/abuild/rpmbuild/BUILD/"
+       ASAN_EXE_PATH="$RPM_DIR/$ASAN_EXE_FOLDER/"
 fi
 
 if [ "$1" = "install_custom"  ]; then
@@ -325,6 +327,24 @@ PREFIX="native"
                                                           -e 's/warning:/\x1b[93m&\x1b[0m/'
                                fi
                        else
+                               # if asan build
+                               mkdir -p $ASAN_EXE_PATH
+                               EXE_SUFFIX=$1
+                               if [ $1 == "utc" ]; then
+                                        EXE_SUFFIX="core"
+                               fi
+                               if [ $1 == "itc" ]; then
+                                        EXE_SUFFIX="native"
+                               fi
+                               EXE_NAME=tct-$MOD_NAME-$EXE_SUFFIX
+
+                               # delete previous exe
+                               asan_exe_file_path=`find $ASAN_EXE_PATH -name $EXE_NAME`
+                               if [ "$asan_exe_file_path" != "" ]; then
+                                        echo "---- Deleting $EXE_NAME [ASAN Binary] from $asan_exe_file_path"
+                                        rm -rf $asan_exe_file_path
+                               fi
+
                                if [ $BUILD_DEVICE_TYPE == "mobile" ]; then
                                        echo "DEVICE BUILD TYPE = MOBILE"
                                        gbs --conf $TCCONF build -A $ARCH --packaging-dir packaging/$1 --spec $PREFIX-$2-$TAG_SPEC.spec  --repository <ASAN_RPM_LOCAL_DIRECTORY> --include-all --keep-packs --define "APP_PATH $APP_DIR" --define "INTERNAL_STORAGE_PATH $INTERNAL_STORAGE_DIR" --define "DEVICE_SUITE_TARGET_30 $DEVICE_SUITE_TARGET_30" --define "DEVICE_USER_30 $DEVICE_USER_30" --define "ASAN_BUILD $ASAN" --define "DEVICE_BUILD_TYPE_MOBILE $BUILD_DEVICE_TYPE" -P device | \
@@ -349,6 +369,13 @@ PREFIX="native"
                            tee build.log | stdbuf -o0 sed -e 's/error:/\x1b[1;91m&\x1b[0m/' \
                                                           -e 's/warning:/\x1b[93m&\x1b[0m/'
                                fi
+
+                               # copy new exe if generated
+                               asan_exe_file_path=`find $ASAN_BUILD_PATH -name $EXE_NAME`
+                               if [ "$asan_exe_file_path" != "" ]; then
+                                         echo "info: Copying $EXE_NAME [ASAN Binary] to $ASAN_EXE_PATH"
+                                         cp $asan_exe_file_path $ASAN_EXE_PATH/
+                               fi
                        fi
                                
                        CheckBuildFailStatus $1 $2
@@ -696,12 +723,12 @@ function inst {
                                         EXE_SUFFIX="native"
                                fi
                                EXE_NAME=tct-$MOD_NAME-$EXE_SUFFIX
-                               asan_exe_file_path=`find $ASAN_BUILD_PATH -name $EXE_NAME`
+                               asan_exe_file_path=`find $ASAN_EXE_PATH -name $EXE_NAME`
                                if [ "$asan_exe_file_path" = "" ]; then
-                                        echo "---- Could not find ($EXE_NAME) inside GBS-ROOT scratch box folder location"
+                                        echo "---- Could not find ($EXE_NAME) at $ASAN_EXE_PATH location"
                                         echo "---- address sanitizer may not work properly (execution will be with stripped binary) [WARNING]"         
                                else
-                                        echo "---- Copying $EXE_NAME [ASAN Binary] inside /tmp/$TCT_DIR/"
+                                        echo "---- Copying $EXE_NAME [ASAN Binary] from $ASAN_EXE_PATH location"
                                         cp $asan_exe_file_path /tmp/$TCT_DIR/
                                fi
                        fi
index 8e0b2b3..021fdfe 100755 (executable)
@@ -32,6 +32,7 @@ d_showVar PROJECT_DIR
 TC_RUN_COUNT=1
 
 ASAN="false"
+ASAN_EXE_FOLDER="TCT_ASAN_EXE"
 if [ "build_asan" == "$1" ] || [ "install_asan" == "$1" ]; then
        ASAN="true"
 fi
@@ -131,6 +132,7 @@ else
                exit
        fi
        ASAN_BUILD_PATH="$RPM_DIR/../../../../BUILD-ROOTS/scratch.$ARCH.0/home/abuild/rpmbuild/BUILD/"
+       ASAN_EXE_PATH="$RPM_DIR/$ASAN_EXE_FOLDER/"
 fi
 
 if [ "$1" = "install_custom"  ]; then
@@ -326,6 +328,24 @@ PREFIX="native"
                                                           -e 's/warning:/\x1b[93m&\x1b[0m/'
                                fi
                        else
+                               # if asan build
+                               mkdir -p $ASAN_EXE_PATH
+                               EXE_SUFFIX=$1
+                               if [ $1 == "utc" ]; then
+                                        EXE_SUFFIX="core"
+                               fi
+                               if [ $1 == "itc" ]; then
+                                        EXE_SUFFIX="native"
+                               fi
+                               EXE_NAME=tct-$MOD_NAME-$EXE_SUFFIX
+
+                               # delete previous exe
+                               asan_exe_file_path=`find $ASAN_EXE_PATH -name $EXE_NAME`
+                               if [ "$asan_exe_file_path" != "" ]; then
+                                        echo "---- Deleting $EXE_NAME [ASAN Binary] from $asan_exe_file_path"
+                                        rm -rf $asan_exe_file_path
+                               fi
+
                                if [ $BUILD_DEVICE_TYPE == "mobile" ]; then
                                        echo "DEVICE BUILD TYPE = MOBILE"
                                        gbs --conf $TCCONF build -A $ARCH --packaging-dir packaging/$1 --spec $PREFIX-$2-$TAG_SPEC.spec --repository <ASAN_RPM_LOCAL_DIRECTORY> --include-all --keep-packs --define "APP_PATH $APP_DIR" --define "INTERNAL_STORAGE_PATH $INTERNAL_STORAGE_DIR" --define "DEVICE_SUITE_TARGET_30 $DEVICE_SUITE_TARGET_30" --define "DEVICE_USER_30 $DEVICE_USER_30" --define "ASAN_BUILD $ASAN" --define "DEVICE_BUILD_TYPE_MOBILE $BUILD_DEVICE_TYPE" -P sdk | \
@@ -350,6 +370,13 @@ PREFIX="native"
                            tee build.log | stdbuf -o0 sed -e 's/error:/\x1b[1;91m&\x1b[0m/' \
                                                           -e 's/warning:/\x1b[93m&\x1b[0m/'
                                fi
+
+                               # copy new exe if generated
+                               asan_exe_file_path=`find $ASAN_BUILD_PATH -name $EXE_NAME`
+                               if [ "$asan_exe_file_path" != "" ]; then
+                                         echo "info: Copying $EXE_NAME [ASAN Binary] to $ASAN_EXE_PATH"
+                                         cp $asan_exe_file_path $ASAN_EXE_PATH/
+                               fi
                        fi
                                
                        CheckBuildFailStatus $1 $2
@@ -697,12 +724,12 @@ function inst {
                                         EXE_SUFFIX="native"
                                fi
                                EXE_NAME=tct-$MOD_NAME-$EXE_SUFFIX
-                               asan_exe_file_path=`find $ASAN_BUILD_PATH -name $EXE_NAME`
+                               asan_exe_file_path=`find $ASAN_EXE_PATH -name $EXE_NAME`
                                if [ "$asan_exe_file_path" = "" ]; then
-                                        echo "---- Could not find ($EXE_NAME) inside GBS-ROOT scratch box folder location"
+                                        echo "---- Could not find ($EXE_NAME) at $ASAN_EXE_PATH location"
                                         echo "---- address sanitizer may not work properly (execution will be with stripped binary) [WARNING]"         
                                else
-                                        echo "---- Copying $EXE_NAME [ASAN Binary] inside /tmp/$TCT_DIR/"
+                                        echo "---- Copying $EXE_NAME [ASAN Binary] from $ASAN_EXE_PATH location"
                                         cp $asan_exe_file_path /tmp/$TCT_DIR/
                                fi
                        fi