[dali_2.3.48] Merge branch 'devel/master'
[platform/core/uifw/dali-core.git] / automated-tests / scripts / tctestsgen.sh
1 #!/bin/bash
2
3 if [[ -z $1 ]]; then
4     echo "Usage note: tctestsgen.sh <module_name>"
5     exit 1
6 fi
7
8 MODULE_NAME=$1
9 MODULE_NAME_C=$(echo $MODULE_NAME | sed -e 's/-\([a-z]\)/\U\1/' -e 's/^\([a-z]\)/\U\1/')
10 SCRIPT_DIR="$(cd "$(dirname $0)" && pwd)"
11 TC_DIR="/opt/usr/bin/tct-$1-core"
12 if [[ $3 == "desktop" ]] ; then
13   TC_DIR="build/src/$1"
14 fi
15
16 FILE="$2/tests.xml"
17 if [ -a $FILE ]; then
18     rm $FILE
19 fi
20 TFILE="/tmp/tcs.csv"
21 if [ -a $TFILE ]; then
22     rm $TFILE
23 fi
24
25 function gen {
26     awk -F',' -v MODULE_NAME=$MODULE_NAME -v MODULE_NAME_C=$MODULE_NAME_C -v TC_DIR=$TC_DIR '
27     BEGIN {
28         set = ""
29 print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
30 print "    <?xml-stylesheet type=\"text/xsl\" href=\"./testcase.xsl\"?>";
31 print "<test_definition>";
32 print "  <suite name=\"tct-"MODULE_NAME"-core-tests\" category=\"Core APIs\">";
33     }
34     {
35         if (set != "" && set != $2) {
36 print "    </set>"
37         }
38
39         if (set != $2) {
40             set = $2;
41 print "    <set name=\"" set "\">";
42         }
43
44         tcname = $1;
45         tcpurpose = $3
46
47 print "      <testcase component=\"CoreAPI/" MODULE_NAME_C "/" set "\" execution_type=\"auto\" id=\"" tcname "\" purpose=\"" tcpurpose "\">";
48 print "        <description>";
49
50 print "          <test_script_entry test_script_expected_result=\"0\">" TC_DIR "/tct-" MODULE_NAME "-core " tcname "</test_script_entry>";
51 print "        </description>";
52 print "      </testcase>";
53     }
54     END {
55         if (set != "") {
56 print "    </set>"
57         }
58 print "  </suite>"
59 print "</test_definition>"
60     }' $TFILE > $FILE
61 }
62
63 (cd $SCRIPT_DIR/..; scripts/retriever.sh -f src/$MODULE_NAME $4 > ${TFILE}_pre)
64 if [ $? -ne 0 ]; then cat ${TFILE}_pre; exit 1; fi
65 cat ${TFILE}_pre | sort -t',' -k2,2 -s > $TFILE
66 gen