--- /dev/null
+PROJECT_DIR="$(cd "$(dirname $0)" && pwd)"
+BUILD_TC_TYPE=$1
+MOD_NAME=$2
+BUILD_DEVICE_TYPE=$3
+CHILD_PKG_COUNT=$4
+
+TAG_SPEC=$1
+PREFIX="native"
+PREFIX_PKG_NAME="native"
+TAG_SPEC_PKG_NAME=$1
+if [ $BUILD_TC_TYPE = "utc" ]; then
+ TAG_SPEC="tests"
+ PREFIX="core"
+fi
+
+TIZEN____="tizen_native_3.0"
+TCT_PKG="tct-$MOD_NAME-$PREFIX_PKG_NAME-$TAG_SPEC_PKG_NAME"
+TCT_PKG_NAME="tct-$MOD_NAME-$PREFIX_PKG_NAME-$TAG_SPEC_PKG_NAME-3.0.zip"
+ZIP_PKG_DIR="/opt/tct/$TIZEN____/packages/$BUILD_DEVICE_TYPE"
+PKG_INFO="_pkg_info.xml"
+PKG_INFO_FILE_LOC="/opt/tct/$TIZEN____/packages/pkg_infos/$BUILD_DEVICE_TYPE$PKG_INFO"
+PKG_INFO_FILE="$BUILD_DEVICE_TYPE$PKG_INFO"
+
+PKG_NAME="$PREFIX-$MOD_NAME-$TAG_SPEC"
+
+CHILD_DIR="child-package-generator"
+
+if [ $CHILD_PKG_COUNT -lt 1 ]; then
+ echo "------ Invalid (Child Count = $CHILD_PKG_COUNT) specified"
+ exit 1
+fi
+
+
+#copy and unzip zip packages from 'ZIP_PKG_DIR' to 'child-package-generator' directory
+rm -rf $CHILD_DIR
+mkdir -p $CHILD_DIR
+cp $ZIP_PKG_DIR/$TCT_PKG_NAME $CHILD_DIR/
+cd $CHILD_DIR
+unzip $TCT_PKG_NAME > /dev/null 2>&1;
+
+#copy zip packages from 'ZIP_PKG_DIR' to child-package-generator directory
+TEST_XML_FILE=tests.xml
+LINE_COUNT=0
+while read LINE
+do
+ LINE_COUNT=$((LINE_COUNT+1))
+done < opt/$TCT_PKG/$TEST_XML_FILE
+
+if [ $LINE_COUNT -lt 8 ]; then
+ cd $PROJECT_DIR/..
+ rm -rf $CHILD_DIR
+ echo "------ tests.xml file found invalid; Total Number of lines is only $LINE_COUNT"
+ exit 1
+fi
+
+TC_CURRENT_LINE_COUNT=0
+TOTAL_LINES=$LINE_COUNT
+TOTAL_TC_LINES=$((LINE_COUNT-8))
+TOTAL_TC_COUNT=$((TOTAL_TC_LINES/5))
+CHILD_TC_COUNT=$((TOTAL_TC_COUNT/CHILD_PKG_COUNT))
+CHILD_TOTAL_TC_LINES=$((CHILD_TC_COUNT*5))
+CHILD_PKG_INDEX=0
+
+END_LINE_1=$((TOTAL_LINES-1))
+END_LINE_2=$((TOTAL_LINES-2))
+#generate child tests.xml
+echo "------ Generating tests.xml file for child packages"
+LINE_COUNT=0
+while read LINE
+do
+ LINE_COUNT=$((LINE_COUNT+1))
+ if [ $LINE_COUNT = 1 ]; then
+ START_LINE_1=$LINE
+ continue
+ elif [ $LINE_COUNT = 2 ]; then
+ START_LINE_2=$LINE
+ continue
+ elif [ $LINE_COUNT = 3 ]; then
+ START_LINE_3=$LINE
+ continue
+ elif [ $LINE_COUNT = 4 ]; then
+ START_LINE_4=$LINE
+ continue
+ elif [ $LINE_COUNT = 5 ]; then
+ START_LINE_5=$LINE
+ continue
+ fi
+ TC_CURRENT_LINE_COUNT=$((TC_CURRENT_LINE_COUNT+1))
+ index_range=$((TC_CURRENT_LINE_COUNT%CHILD_TOTAL_TC_LINES))
+ if [ $index_range = 1 ]; then
+ if [ $CHILD_PKG_INDEX -lt $CHILD_PKG_COUNT ]; then
+ CHILD_PKG_INDEX=$((CHILD_PKG_INDEX+1))
+ echo $START_LINE_1 >> $TEST_XML_FILE\_$CHILD_PKG_INDEX
+ echo $START_LINE_2 >> $TEST_XML_FILE\_$CHILD_PKG_INDEX
+ echo $START_LINE_3 >> $TEST_XML_FILE\_$CHILD_PKG_INDEX
+ echo $START_LINE_4 >> $TEST_XML_FILE\_$CHILD_PKG_INDEX
+ echo $START_LINE_5 >> $TEST_XML_FILE\_$CHILD_PKG_INDEX
+ fi
+ fi
+
+ if [ $LINE_COUNT = $TOTAL_LINES ] || [ $LINE_COUNT = $END_LINE_1 ] || [ $LINE_COUNT = $END_LINE_2 ]; then
+ CURRENT_LOOP_COUNT=1
+ while [ true ];
+ do
+ if [ $CURRENT_LOOP_COUNT -gt $CHILD_PKG_COUNT ]; then
+ break
+ fi
+ echo $LINE >> $TEST_XML_FILE\_$CURRENT_LOOP_COUNT
+ CURRENT_LOOP_COUNT=$((CURRENT_LOOP_COUNT+1))
+ done
+ else
+ echo $LINE >> $TEST_XML_FILE\_$CHILD_PKG_INDEX
+ fi
+
+done < opt/$TCT_PKG/$TEST_XML_FILE
+
+#generate new pkg_info.xml
+echo "------ Generating new pkg_info file for '$BUILD_DEVICE_TYPE' profile"
+cp $PKG_INFO_FILE_LOC ./
+LINE_COUNT=0
+if [ $BUILD_TC_TYPE = "itc" ]; then
+ category="IntegrationTestCases"
+elif [ $BUILD_TC_TYPE = "ctc" ]; then
+ category="ComplianceTestCases"
+else
+ category="UnitTestCases"
+fi
+END_XML_LINE="</ns3:testplan>"
+DELIMIT="_"
+while read LINE
+do
+ LINE_COUNT=$((LINE_COUNT+1))
+ if echo "$LINE" | grep -q "$END_XML_LINE"; then
+ CURRENT_LOOP_COUNT=1
+ while [ true ];
+ do
+ if [ $CURRENT_LOOP_COUNT -gt $CHILD_PKG_COUNT ]; then
+ break
+ fi
+ tc_count=$CHILD_TC_COUNT
+ if [ $CURRENT_LOOP_COUNT = $CHILD_PKG_COUNT ]; then
+ used_index=$((CURRENT_LOOP_COUNT-1))
+ used_tc_count=$((CHILD_TC_COUNT*used_index))
+ tc_count=$((TOTAL_TC_COUNT-used_tc_count))
+ fi
+ PKG_INFO_1="<suite name=\"tct-$MOD_NAME-$PREFIX_PKG_NAME-$TAG_SPEC_PKG_NAME$DELIMIT$CURRENT_LOOP_COUNT\" category=\" $category \">"
+ PKG_INFO_2=" <auto_tcn>$tc_count</auto_tcn>"
+ PKG_INFO_3=" <manual_tcn>0</manual_tcn>"
+ PKG_INFO_4=" <total_tcn>$tc_count</total_tcn>"
+ PKG_INFO_5=" <pkg_name>$BUILD_DEVICE_TYPE/tct-$MOD_NAME-$PREFIX_PKG_NAME-$TAG_SPEC_PKG_NAME$DELIMIT$CURRENT_LOOP_COUNT-3.0.zip</pkg_name>"
+ PKG_INFO_6=" </suite>"
+ echo $PKG_INFO_1 >> $PKG_INFO_FILE\_NEW
+ echo $PKG_INFO_2 >> $PKG_INFO_FILE\_NEW
+ echo $PKG_INFO_3 >> $PKG_INFO_FILE\_NEW
+ echo $PKG_INFO_4 >> $PKG_INFO_FILE\_NEW
+ echo $PKG_INFO_5 >> $PKG_INFO_FILE\_NEW
+ echo $PKG_INFO_6 >> $PKG_INFO_FILE\_NEW
+ CURRENT_LOOP_COUNT=$((CURRENT_LOOP_COUNT+1))
+ done
+ fi
+ echo "$LINE" >> $PKG_INFO_FILE\_NEW
+done < $PKG_INFO_FILE
+
+#create multiple child zip packages
+echo "------ Updating inst.sh and Creating zip for child packages"
+rm -rf child_packages
+mkdir -p child_packages
+cd child_packages
+CURRENT_LOOP_COUNT=1
+while [ true ];
+do
+ if [ $CURRENT_LOOP_COUNT -gt $CHILD_PKG_COUNT ]; then
+ break
+ fi
+ mkdir -p child_packages_$CURRENT_LOOP_COUNT
+ cd child_packages_$CURRENT_LOOP_COUNT
+ mkdir -p opt
+ mkdir -p opt/tct-$MOD_NAME-$PREFIX_PKG_NAME-$TAG_SPEC_PKG_NAME\_$CURRENT_LOOP_COUNT
+ cp -rf ../../opt/$TCT_PKG/* ./opt/tct-$MOD_NAME-$PREFIX_PKG_NAME-$TAG_SPEC_PKG_NAME\_$CURRENT_LOOP_COUNT/
+ rm ./opt/tct-$MOD_NAME-$PREFIX_PKG_NAME-$TAG_SPEC_PKG_NAME\_$CURRENT_LOOP_COUNT/tests.xml
+ cp ../../$TEST_XML_FILE\_$CURRENT_LOOP_COUNT ./opt/tct-$MOD_NAME-$PREFIX_PKG_NAME-$TAG_SPEC_PKG_NAME\_$CURRENT_LOOP_COUNT/$TEST_XML_FILE
+ #edit inst.sh to change directory path
+ sed -i '/TCT_DIR=/c\TCT_DIR="opt/tct-${MOD_NAME}-native-${BUILD_TYPE}\"_'"${CURRENT_LOOP_COUNT}"'\""' ./opt/tct-$MOD_NAME-$PREFIX_PKG_NAME-$TAG_SPEC_PKG_NAME\_$CURRENT_LOOP_COUNT/inst.sh
+
+ zip -r tct-$MOD_NAME-$PREFIX_PKG_NAME-$TAG_SPEC_PKG_NAME\_$CURRENT_LOOP_COUNT-3.0.zip opt > /dev/null 2>&1;
+ cp tct-$MOD_NAME-$PREFIX_PKG_NAME-$TAG_SPEC_PKG_NAME\_$CURRENT_LOOP_COUNT-3.0.zip $ZIP_PKG_DIR/
+ cd ..
+
+ CURRENT_LOOP_COUNT=$((CURRENT_LOOP_COUNT+1))
+done
+
+cd ..
+cp $PKG_INFO_FILE\_NEW $PKG_INFO_FILE_LOC
+cd $PROJECT_DIR/..
+rm -rf $CHILD_DIR
+echo "------ Copying child zip packages to '$ZIP_PKG_DIR'"
+echo "------ Updating pkg_info file for '$BUILD_DEVICE_TYPE' profile to '$PKG_INFO_FILE_LOC'"
+echo "------ Child Packages Generation Finished Successfully"
d_showVar PROJECT_DIR
TC_RUN_COUNT=1
+TC_CHILD_COUNT=1
TCT_CONF_DIR=tct_conf/tct
ASAN="false"
fi
-if [ "build" == "$1" ] || [ "build_asan" == "$1" ] || [ "install" == "$1" ] || [ "install_asan" == "$1" ] || [ "install_coverage" == "$1" ] || [ "install_custom" == "$1" ] || [ "install_random" == "$1" ]; then
+if [ "build" == "$1" ] || [ "build_asan" == "$1" ] || [ "install" == "$1" ] || [ "install_asan" == "$1" ] || [ "install_coverage" == "$1" ] || [ "install_custom" == "$1" ] || [ "install_random" == "$1" ] || [ "install_child" == "$1" ]; then
if [ "$2" = "mobile" ] || [ "$3" = "mobile" ] || [ "$4" = "mobile" ] || [ "$5" = "mobile" ] ; then
BUILD_DEVICE_TYPE="mobile"
fi
fi
+if [ "$1" = "install_child" ]; then
+ if [[ $4 == ?(-)+([0-9]) ]]; then
+ TC_CHILD_COUNT=$4
+ elif [[ $5 == ?(-)+([0-9]) ]]; then
+ TC_CHILD_COUNT=$5
+ elif [[ $6 == ?(-)+([0-9]) ]]; then
+ TC_CHILD_COUNT=$6
+ fi
+fi
+
OBS_URL="http://168.219.209.58:82/TCT:/3.0/target/armv7l/"
d_showVar RPM_DIR
INSTALL_PKG_COUNT=0
# create new zip
( cd /tmp; zip -r /tmp/tct/packages/tct-$MOD_NAME-$PREFIX_PKG_NAME-$TAG_SPEC_PKG_NAME-3.0.zip opt > /dev/null 2>&1; )
# deployment
- echo "-- Suite deployment..."
+ echo "---- Suite deployment..."
echo "---- Package copying to $TO_PKG_DIR/$BUILD_DEVICE_TYPE/tct-$MOD_NAME-$PREFIX_PKG_NAME-$TAG_SPEC_PKG_NAME-3.0.zip"
if [ $BUILD_DEVICE_TYPE == "mobile" ]; then
mkdir -p $TO_PKG_DIR/mobile
fi
if [ $? -ne 0 ]; then echo "Aborting..."; exit 1; fi
+ if [ $INSTALL_MODE == 4 ]; then
+ echo "------ Generating child packages..."
+ bash scripts/child-package-generator.sh $BUILDTC_TYPE $MOD_NAME $BUILD_DEVICE_TYPE $TC_CHILD_COUNT
+ if [ $? -ne 0 ]; then
+ cd $PROJECT_DIR
+ echo "------ child-package-generator script Failed to generate child packages"
+ exit 1;
+ fi
+ cd $PROJECT_DIR
+ fi
echo "Task finished successfully"
cd $PROJECT_DIR
echo "$1:->$2" >> install.log
cat install.log
fi
rm install.log
+elif [ "install_child" == "$1" ]; then
+ # install
+ INSTALL_PKG_COUNT=0
+ INSTALL_MODE=4
+ echo "**********************************************" > install.log
+ echo "Following packages get installed successfully:" >> install.log
+ if [ "$2" = "armv7l" ] || [ "$2" = "aarch64" ] || [ "$2" = "mobile" ] || [ "$2" = "wearable" ] || [ "$2" = "tv" ] || [ "$2" = "common_iot" ]; then
+ inst
+ elif [ "$3" = "armv7l" ] || [ "$3" = "aarch64" ] || [ "$3" = "mobile" ] || [ "$3" = "wearable" ] || [ "$3" = "tv" ] || [ "$3" = "common_iot" ]; then
+ inst $2
+ else
+ inst $2 $3
+ fi
+
+ echo "" >> install.log
+ echo "Total Install PASS Count = $INSTALL_PKG_COUNT" >> install.log
+ echo "**********************************************" >> install.log
+ if [ -z $3 ] || [ -z $4 ]; then
+ cat install.log
+ fi
+ rm install.log
else
echo ""
echo "Invalid subcommand: $1"
d_showVar PROJECT_DIR
TC_RUN_COUNT=1
+TC_CHILD_COUNT=1
TCT_CONF_DIR=tct_conf/tct
ASAN="false"
fi
-if [ "build" == "$1" ] || [ "build_asan" == "$1" ] || [ "install" == "$1" ] || [ "install_asan" == "$1" ] || [ "install_coverage" == "$1" ] || [ "install_custom" == "$1" ]; then
+if [ "build" == "$1" ] || [ "build_asan" == "$1" ] || [ "install" == "$1" ] || [ "install_asan" == "$1" ] || [ "install_coverage" == "$1" ] || [ "install_custom" == "$1" ] || [ "install_child" == "$1" ]; then
if [ "$2" = "mobile" ] || [ "$3" = "mobile" ] || [ "$4" = "mobile" ] || [ "$5" = "mobile" ] ; then
BUILD_DEVICE_TYPE="mobile"
TC_RUN_COUNT=$6
fi
fi
+
+if [ "$1" = "install_child" ]; then
+ if [[ $4 == ?(-)+([0-9]) ]]; then
+ TC_CHILD_COUNT=$4
+ elif [[ $5 == ?(-)+([0-9]) ]]; then
+ TC_CHILD_COUNT=$5
+ elif [[ $6 == ?(-)+([0-9]) ]]; then
+ TC_CHILD_COUNT=$6
+ fi
+fi
OBS_URL="http://168.219.209.58:82/TCT:/3.0/emulator/i586/"
d_showVar RPM_DIR
# create new zip
( cd /tmp; zip -r /tmp/tct/packages/tct-$MOD_NAME-$PREFIX_PKG_NAME-$TAG_SPEC_PKG_NAME-3.0.zip opt > /dev/null 2>&1; )
# deployment
- echo "-- Suite deployment..."
+ echo "---- Suite deployment..."
echo "---- Package copying to $TO_PKG_DIR/$BUILD_DEVICE_TYPE/tct-$MOD_NAME-$PREFIX_PKG_NAME-$TAG_SPEC_PKG_NAME-3.0.zip"
if [ $BUILD_DEVICE_TYPE == "mobile" ]; then
mkdir -p $TO_PKG_DIR/mobile
fi
if [ $? -ne 0 ]; then echo "Aborting..."; exit 1; fi
+ if [ $INSTALL_MODE == 4 ]; then
+ echo "------ Generating child packages..."
+ bash scripts/child-package-generator.sh $BUILDTC_TYPE $MOD_NAME $BUILD_DEVICE_TYPE $TC_CHILD_COUNT
+ if [ $? -ne 0 ]; then
+ cd $PROJECT_DIR
+ echo "------ child-package-generator script Failed to generate child packages"
+ exit 1;
+ fi
+ cd $PROJECT_DIR
+ fi
echo "Task finished successfully"
cd $PROJECT_DIR
echo "$1:->$2" >> install.log
cat install.log
fi
rm install.log
+elif [ "install_child" == "$1" ]; then
+ # install
+ INSTALL_PKG_COUNT=0
+ INSTALL_MODE=4
+ echo "**********************************************" > install.log
+ echo "Following packages get installed successfully:" >> install.log
+ if [ "$2" = "i586" ] || [ "$2" = "x86_64" ] || [ "$2" = "mobile" ] || [ "$2" = "wearable" ] || [ "$2" = "tv" ] || [ "$2" = "common_iot" ]; then
+ inst
+ elif [ "$3" = "i586" ] || [ "$3" = "x86_64" ] || [ "$3" = "mobile" ] || [ "$3" = "wearable" ] || [ "$3" = "tv" ] || [ "$3" = "common_iot" ]; then
+ inst $2
+ else
+ inst $2 $3
+ fi
+
+ echo "" >> install.log
+ echo "Total Install PASS Count = $INSTALL_PKG_COUNT" >> install.log
+ echo "**********************************************" >> install.log
+ if [ -z $3 ] || [ -z $4 ]; then
+ cat install.log
+ fi
+ rm install.log
else
echo ""
echo "Invalid subcommand: $1"