]> rtime.felk.cvut.cz Git - arc.git/blob - scripts/compile_examples.sh
fc0e847b629d9963b299018d5426fcf3d422096b
[arc.git] / scripts / compile_examples.sh
1 #!/bin/bash\r
2 \r
3 ARC_DIR=../\r
4 EXAMPLE_DIR=${ARC_DIR}/examples/\r
5 COMPILER_DIR=/opt/compilers/\r
6 OUTPUT=test_output.xml\r
7 BUILDOUTTMP=tmp_out.txt\r
8 \r
9 \r
10 function failedTest {\r
11 echo "<FailedTest id=\"${1}\"> \\r
12   <Name>${2}</Name> \\r
13   <Message>${3}</Message> \\r
14 </FailedTest>" >> $OUTPUT\r
15 \r
16 #       echo "<Location>"\r
17 #       echo "<File>c:/ArcticStudio/workspace/arc-tests/ComTests/com_test.c</File>"\r
18 #       echo "<Line>444</Line>"\r
19 #       echo "</Location>"\r
20 #       echo "<Message>UPNotificationCalled == getNumberOfSignalsInPdu(IPduId) &amp;&amp; 0</Message>"\r
21 }\r
22 \r
23 function successfulTest {\r
24 echo "<Test id=\"${1}\"> \\r
25   <Name>${2}</Name> \\r
26 </Test>" >> $OUTPUT\r
27 }\r
28 \r
29 function warningTest {\r
30 echo "<Test id=\"${1}\"> \\r
31   <Name>${2}</Name> \\r
32   <Warning>${3}</Warning>\r
33 </Test>" >> $OUTPUT\r
34 }\r
35 \r
36 \r
37 \r
38 \r
39 echo "<?xml version=\"1.0\" encoding='utf8' standalone='yes' ?> \\r
40 <?xml-stylesheet type=\"text/xsl\" href=\"unittests.xsl\" ?> \\r
41 <TestRuns> \\r
42 <TestRun> \\r
43 <CompileExamples>" > $OUTPUT\r
44 \r
45 TEST_ID=1\r
46 for EXAMPLE in `ls $EXAMPLE_DIR`; do\r
47         for BOARD in `ls ${EXAMPLE_DIR}${EXAMPLE}/config`; do \r
48 \r
49                 C=`grep $BOARD compilers.txt`\r
50                 COMPILER=${COMPILER_DIR}${C#$BOARD:}\r
51 \r
52                 TEST_NAME=${EXAMPLE}-${BOARD}\r
53 \r
54                 if [ -x "${COMPILER}gcc" ]; then\r
55                         BUILD_FILE=${EXAMPLE}_${BOARD}.elf \r
56                         make -C ${ARC_DIR} CROSS_COMPILE=$COMPILER BOARDDIR=$BOARD BDIR=examples/$EXAMPLE build-exe-y=${BUILD_FILE} clean all\r
57 \r
58                         if [ -a ${ARC_DIR}/binaries/${BUILD_FILE} ]; then\r
59                                 successfulTest $TEST_ID $TEST_NAME\r
60                         else\r
61                                 BUILDOUT=`cat $BUILDOUTTMP`\r
62                                 failedTest $TEST_ID $TEST_NAME "See console output for information"\r
63                         fi\r
64                 else\r
65                         warningTest $TEST_ID $TEST_NAME "No compiler found"\r
66                 fi\r
67                 let TEST_ID=TEST_ID+1\r
68         done\r
69 done\r
70 \r
71 echo "</CompileExamples> \\r
72 </TestRun> \\r
73 </TestRuns>" >> $OUTPUT\r
74 \r