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